Search TeachExcel.com
TeachExcel.com
TE
Teach Excel MS Office Tutorials Excel Consulting Services Excel Forum
Excel Video Tutorials Excel Tips Free Excel Macros Excel Help Resources Contact TeachExcel
Video Tutorials
  • Free Macros
  • Excel Help Directory
  • Excel 2007 Resources
  • Keyboard Shortcuts
  • Excel Forum
  • Contact/About

Macros
Excel Tutorials For Macros

Create a 12 Month Calendar With The Current Day Highlighted in Excel


Bookmark and Share

Create a 12 month formatted calendar on a new tab in Excel with the current day highlighted. This macro creates a nicely formatted 12 month calendar where all days in every month are listed and in date format. This means that you can immediately perform date related functions and formulas off of the dates created from this macro and calendar.

This macro saves you a lot of time if you need to have a calendar display in Excel. This macro is also very easy to change in terms of formatting and this is good if you want to change month heading colors or cell background colors etc.
Where to install the macro:  Module

Excel Macro to Create a 12 Month Calendar With The Current Day Highlighted in Excel

Sub CreateCalendar()

Dim lMonth As Long

Dim strMonth As String

Dim rStart As Range

Dim strAddress As String

Dim rCell As Range

Dim lDays As Long

Dim dDate As Date

'Add new sheet and format

Worksheets.Add

ActiveWindow.DisplayGridlines = False

With Cells

.ColumnWidth = 6#

.Font.Size = 8

End With

 

'Create the Month headings

For lMonth = 1 To 4

Select Case lMonth

Case 1

strMonth = "January"

Set rStart = Range("A1")

Case 2

strMonth = "April"

Set rStart = Range("A8")

Case 3

strMonth = "July"

Set rStart = Range("A15")

Case 4

strMonth = "October"

Set rStart = Range("A22")

End Select

'Merge, AutoFill and align months

With rStart

.Value = strMonth

.HorizontalAlignment = xlCenter

.Interior.ColorIndex = 6

.Font.Bold = True

With .Range("A1:G1")

.Merge

.BorderAround LineStyle:=xlContinuous

End With

.Range("A1:G1").AutoFill Destination:=.Range("A1:U1")

End With

Next lMonth

'Pass ranges for months

For lMonth = 1 To 12

strAddress = Choose(lMonth, "A2:G7", "H2:N7", "O2:U7", _
"A9:G14", "H9:N14", "O9:U14", _
"A16:G21", "H16:N21", "O16:U21", _
"A23:G28", "H23:N28", "O23:U28")

lDays = 0

Range(strAddress).BorderAround LineStyle:=xlContinuous

'Add dates to month range and format

For Each rCell In Range(strAddress)

lDays = lDays + 1

dDate = DateSerial(Year(Date), lMonth, lDays)

If Month(dDate) = lMonth Then ' It's a valid date

With rCell

.Value = dDate

.NumberFormat = "ddd dd"

End With

End If

Next rCell

Next lMonth

'add con formatting

With Range("A1:U28")

.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=TODAY()"

.FormatConditions(1).Font.ColorIndex = 2

.FormatConditions(1).Interior.ColorIndex = 1

End With

End Sub


Bookmark and Share


How to Install the Macro
  1. Select and copy the text from within the grey box above.

  2. Open the Microsoft Excel file in which you would like the Macro to function.

  3. Press "Alt + F11" - This will open the Visual Basic Editor - Works for all Excel Versions.  Or For other ways to get there, Click Here.

      For Excel Versions Prior to Excel 2007
      Go to Tools > Macros > Visual Basic Editor

      For Excel 2007
      Go to Office Button > Excel Options > Popular > Click Show Developer tab in the Ribbon. Then go to the Developer tab on the ribbon menu and on the far left Click Visual Basic

  4. On the new window that opens up, go to the left side where the vertical pane is located. Locate your Excel file; it will be called VBAProject (YOUR FILE'S NAME HERE) and click this.

  5. If the Macro goes in a Module, Click Here, otherwise continue to Step 8.

    1. Go to the menu at the top of the window and click Insert > Module
    2. Another window should have opened within the Visual Basic Editor's window. Within this new window, paste the macro code. Make sure to paste the code underneath the last line of anything else that is in the window.
    3. Go to Step 8.

  6. If the Macro goes in the Workbook or ThisWorkbook, Click Here, otherwise continue to Step 8.

    1. Directly underneath your excel file called VBAProject(your file's name here), click the Microsoft Excel Objects folder icon to open that drop-down list.
    2. Then, at the bottom of the list that appears, double-click the ThisWorkbook text.
    3. A new window inside the Visual Basic Editor's window will appear. In this new window, paste the code for the macro. Make sure to paste this code underneath the last line of any other code which is already in the window.
    4. Go to Step 8.

  7. If the Macro goes in the Worksheet Code, Click Here, otherwise continue to Step 8.

    1. Directly underneath your excel file called VBAProject(your file's name here), click the Microsoft Excel Objects folder icon to open that drop-down list.
    2. Within the list that appears you will see every worksheet that is in that excel file. They will be listed as such: Sheet1(NAME OF SHEET HERE) and under that will be Sheet2(NAME OF SHEET HERE). Select the sheet in which you want the macro to run and double-click that sheet.
    3. A new window inside the Visual Basic Editor's window will appear. In this new window, paste the code for the macro. Make sure to paste this code underneath the last line of any other code which is already in the window.
    4. Repeat steps b and c for every sheet you want the macro to work in. Putting the macro in one sheet will not enable it for any other sheets in the workbook.
    5. Go to Step 8.

  8. Close the Microsoft Visual Basic Editor window and save the Excel file. When you close the Visual Basic Editor window, the regular Excel window will not close.

  9. You are now ready to run the macro.



Similar Helpful Excel Resources

Using Forms Monthly Calendar With Current Day Highlighted - Excel

View Content
Hi Friends,

I have created a form in excel with a text box.

I would like to add a monthly calendar with Current Day Highlighted.

I have 10 team members using this excel (Individual Work book from share drive).

Is this possible. Please let me know.

Thanks,
Nianchi111.

Find & Activate Cell Containing Current Date On 12 Month Calendar - Excel

View Content
I have a 12 month calendar. All 12 months are within Range C5:Y39.
FindString = Format(dValue, "d") is only finding the first instance (current Day) which is Jan.
Changing the format value to "m" gets me into Feb., but with the wrong day. I've tried every Format value I can think of and they all fail completely except for d & m.
I can't get it to find the proper month with appropriate day.

Any direction would be much appreciated.

Code:

Sub FindDate()
    Dim FindString As String
    Dim Rng As Range
    Dim dValue As String
    dValue = Date
    FindString = Format(dValue, "d")
    If Trim(FindString)  "" Then
        With ActiveSheet.Range("C5:Y39")
            Set Rng = .Find(What:=FindString, _
                            After:=.Cells(.Cells.Count), _
                            LookIn:=xlValues, _
                            LookAt:=xlWhole, _
                            SearchOrder:=xlByRows, _
                            SearchDirection:=xlNext, _
                            MatchCase:=False)
            If Not Rng Is Nothing Then
            MsgBox Rng.Value
            Application.Goto Rng
            Else
                MsgBox "Nothing found"
            End If
        End With
    End If
End Sub




Create A Calendar By Month And Year. - Excel

View Content

Create Formula To Show Current Month - Excel

View Content
I hope someone can help me. I need a simple formula to show the current month in cell A1. The results need to be January, February, not 1, 2, 3.

Is There A Way To Zoom The Excel View To The Current Highlighted Cells..with A Single Click - Excel

View Content



Excel - Counting Calendar Days In Correct Month - Excel

View Content
I need to count the number of calendar days in the correct month. As long as the days are in the same month no problem to count. However when calendar days are in 2 months I need to appoint those days to the right month. How can I handle this without creating additional columns with a manual end month date and start month date. (example: 20 Jan until 15 Feb)

Auto Insert Current Month's Name And Current Year - Excel

View Content
Hello ,

I've got a Word document that I want to insert the current month's name and year, but the day of the month will never change.

So, in January I would see "January 26, 2009", Feb. would be "February 26, 2009", next year it would be "January 26, 2010", etc. It will always be the 26th, but the month and year will change each month.

Are there ways to set this up? I've looked in the fields you can include, but the date format doesn't contain just the month or just the year.

Thanks in advance....

Displaying Month In A Pop-up Calendar Based On The Month Entered In The Other Cell - Excel

View Content
Hi

I have developed the pop-up calendar in excel using VB and macro. Now I am able to open a pop-up calendar by double clicking in a cell of any spread sheet.
I have one requirement.
Assume I enter a date by selecting from the pop-up calendar in a cell, say for example, I enter 25/09/2010 as date in cell.
When I open the pop-up calendar in another cell, I want the pop-up calendar to open 'Sep' month.

Presently, it is opening the current month instead of the month value entered in the other cell.

Please advise.

Regards
Srinath

Sumproduct Where A Condition Is Date Falls In Month Prior To Current Month - Excel

View Content
Special thanks to T. Valko for helping me with my prior thread.

I need to take his advice a step further.

This is the formula he provided (updated to meet my specific needs):

=SUMPRODUCT(--('3-FactoryCalculation'!$L$3:'3-FactoryCalculation'!$L$5000=1),--('3-FactoryCalculation'!$C$3:'3-FactoryCalculation'!$C$5000="Base"),--(TEXT('3-FactoryCalculation'!$R$3:'3-FactoryCalculation'!$R$5000,"mmmyyyy")=TEXT(NOW(),"mmmyyyy")))

It only counts projects on Sheet 'FactoryCalculation' if:
Column L has value of 1
Column C has value "Base"
Column R has a date which falls within the present calendar month, whatever month that may be.



Is it possible to use this sort of formula to only count projects in that same sheet whe
Column L has value of 1
Column C has value of "Base"
and Column R has a date which falls within the PREVIOUS month, i.e. the month that is always just prior to the present calendar month


This is required so that every month when we have our monthly Operations Review, we can easily look at all data for the entirey of the previous month.

Create Calendar In Excel - Excel

View Content
Hi everyone!

Hope you are all great. I am writing today because my manager came to me with a question and I would like to know if it is possible....She asked me if a calendar can be created and managed in Excel, like some sort of tool on which you can add a task, for example with a recourrence of two weeks and that automatically the excel adds it to the calendar created.
I know there are codes to create the calendars, can the calendar tasks be managed with codes? I do not know if I am explaining myself right, please let me know what you think.

Random Tutorials
Bond Pricing Calculations for Simple Bonds
         - Future Value, Present Value, Interest Rate, etc.

(Intermediate)
Remove #N/A Error Result from Empty VLOOKUP() Formulas
(Intermediate)
HLOOKUP() Function - Introduction
(Intermediate)
Consolidate & Combine Data from Separate Worksheets or Workbooks(Excel Files)
(Intermediate)
How to record a Macro - And what One is
(Easy)
Assign Keyboard Shortcuts to Macros
(Easy)
Submit Inquiry Here
  • Prices From $10
Name:*
E-mail:*
Request:*
The macro(s) on this page will be sent with the request.
Contact | Privacy Policy | Disclaimer
Copyright© 2012 TeachExcel.com