Got any Excel/VBA Questions? Free Excel Help
The function below can be used to determine how may days (e.g. Mondays etc.) there are in any specified month. For example:
=HowManyDaysInMonth("1/12/03","wed")
will return 5 as there are five Wednesdays in the month of December in 2003
=HowManyDaysInMonth("1/12/03","thu")
will return 4 as there are four Thursdays in the month of December in 2003
To be able to use this custom function in a Workbook, you must first place the code below into a standard module.
'The Code
Function HowManyDaysInMonth(FullDateAs String, sDay As String) As Integer
Dim i As Integer
Dim iDay As Integer, iMatchDay As Integer
Dim iDaysInMonth As Integer
Dim FullDateNew As Date
iMatchDay = Weekday(FullDate)
Select Case UCase(sDay)
Case "SUN"
iDay = 1
Case "MON"
iDay = 2
Case "TUE"quot;
iDay = 3
Case "WED"
iDay = 4
Case "THU"
iDay = 5
Case "FRI"
iDay = 6
Case "SAT"
iDay = 7
End Select
iDaysInMonth = Day(DateAdd("d", -1, DateSerial _
(Year(FullDate), Month(FullDate) + 1, 1)))
FullDateNew = DateSerial(Year(FullDate), Month(FullDate), iDaysInMonth)
For i = iDaysInMonth - 1 To 0 Step -1
If Weekday(FullDateNew - i) = iDay Then
HowManyDaysInMonth = HowManyDaysInMonth + 1
End If
Next i
End Function
Now simply enter the function into any cell as shown above.
See also:
| Excel AutoFilters in VBA using Dates |
| Add Excel Worksheets in Month/Monthly Order |
| Automatically Add Date, Time or Date & Time |
| Use AutoFilter in Excel VBA to Filter by Date & Time |
| Convert to a Currency Data Type |
Free Training Course: Lesson 1 - Excel Fundamentals
See also: Index to Excel VBA Code; Index to Excel Freebies; Lesson 1 - Excel Fundamentals; Index to how to… providing a range of solutions
Click here to visit our Free 24/7 Excel/VBA Help Forum where there are thousands of posts you can get information from, or you can join the Forum and post your own questions.