Written by Allen Wyatt (last updated June 6, 2025)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and 2021
When creating macros in VBA, you may have a need to know the specific day of the month represented by a particular date. For instance, you may want to determine the day of the month on which the macro is being executed. The following code will do the trick:
iDay = Day(Date)
The Day function returns an integer value representing the day of the month of whatever date you provide. In this example, the Date function represents today's date, and so Day returns today's day of the month.
You can also, if you prefer, use the Format function to return a text string that contains the day of the month. For instance, consider this code:
sTemp = Format(Date,"dd")
This returns the day of the month as two digits with a leading zero. You could replace "dd" with other variations; "d" returns the date without a leading zero, "ddd" returns the short day name for the day of the month (as in "Wed" or "Fri"), and "dddd" returns the full day name (as in "Wednesday" or "Friday").
Note, however, that Format returns a string. If your subsequent computations require a numeric value, then it is best to use the Day function.
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (9640) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and 2021. You can find a version of this tip for the older menu interface of Excel here: Determining the Day of the Month.
Program Successfully in Excel! This guide will provide you with all the information you need to automate any task in Excel and save time and effort. Learn how to extend Excel's functionality with VBA to create solutions not possible with the standard features. Includes latest information for Excel 2024 and Microsoft 365. Check out Mastering Excel VBA Programming today!
Need to gather some information about the drives on a system? It can be pretty easy to do using a macro, as shown in this ...
Discover MoreUsing macros to step through each cell in a selection is a common occurrence. What if that selected range is made up of ...
Discover MoreWorkbooks can contain macros, or not. It is entirely up to you whether they do or not, but at some future time you might ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2021-02-13 09:10:38
Brian P
You refer to “day of the month” in this tip, but in places (“ddd” & “dddd”) it appears to be talking about “day of the week” (e.g., Monday, Tuesday, Wednesday). “Day of the month” would refer to the number (1-31).
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments