FREE Excel STUFF
SearchSearch Excel Content
Excel Help. Popular
NEW! Multiple Excel Search & Links
Excel Formulas
Excel Macros
Excel Newsletter
PRODUCTS
Up to $139.00 FREE!
Categories & SearchSearch for software
Excel Templates
Excel Add-ins
Excel Training
More....
OTHER
Excel Development


Create a Worksheet Calendar


NEW! More Books..
Add to Google advanced search! Free Help!

Add Excel Answers & Search To Your Google Toolbar Details

Excel VBA Code to Create a Worksheet Calendar

Current Special! Complete Excel Excel Training Course for Excel 97 - Excel 2003, only $145.00. $59.95 Instant Buy/Download, 30 Day Money Back Guarantee & Free Excel Help for LIFE!

Back to: Excel VBA . Got any Excel/VBA Questions? Free Excel Help

ALSO SEE: Excel Calendar Control || Calendar for Excel || Excel Date and Times || Convert Excel Date Formats

The Excel VBA code below will create a calendar on a new Worksheet. The current day will always be highlighted dynamically each day. The year of the calendar will always be the current year. The dates used are true excel dates and can be used in any date calculations.

You may have to adjust some of the formatting elements to fit your screen size and resolution.

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

Excel Dashboard Reports & Excel Dashboard Charts 50% Off

Special! Free Choice of Complete Excel Training Course OR Excel Add-ins Collection on all purchases totaling over $64.00. ALL purchases totaling over $150.00 gets you BOTH! Purchases MUST be made via this site. Send payment proof to special@ozgrid.com 31 days after purchase date.



Instant Download and Money Back Guarantee on Most Software

Excel Trader Package Technical Analysis in Excel With $139.00 of FREE software!

Add to Google Search Tips FREE Excel Help

Microsoft ® and Microsoft Excel ® are registered trademarks of Microsoft Corporation. OzGrid is in no way associated with Microsoft