Article ID: 171128
Article Last Modified on 1/20/2007
Sub Date_NumDaysInMonth()
Dim iMon As Integer
Dim sDate As String
PromptForDate:
sDate = InputBox("Enter a date in the mm/dd/yyyy format")
' If Cancel was pressed, end macro.
If sDate = "" Then Exit Sub
' If Date entered is not a valid date, display message.
If Not IsDate(sDate) Then
MsgBox "Please enter a valid date."
GoTo PromptForDate
End If
' The Month function returns the month number (1-12) of the date.
Select Case Month(sDate)
Case 4, 6, 9, 11
sNumDays = "30"
Case 2
If Year(sDate) Mod 4 = 0 Then
sNumDays = "29"
Else
sNumDays = "28"
End If
Case Else
sNumDays = "31"
End Select
MsgBox Format$(sDate, "mmmm") & " of " & Format$(sDate, "yyyy") _
& " has " & sNumDays &" days."
End Sub
The macro takes leap years into consideration when computing the number of
days in February. For example, this routine divides the year by 4 and if
the remainder is 0, there are 29 days in February of the year specified.
Otherwise, there are 28 days in February of the year specified.
173707 OFF97: How to Run Sample Code from Knowledge Base Articles
163435 VBA: Programming Resources for Visual Basic for Applications
Additional query words: wordcon vb vba vbe
Keywords: kbcode kbdtacode kbhowto kbmacroexample kbprogramming KB171128