Reputation: 103
I have added text in to my email that goes like:
"please provide numbers for MMMM month end" - where MMMM is the name of the previous month.
So it it's April today, MMMM will show March.
I have the following code:
Dim newDate: newDate = DateAdd("M", -1, Now)
But the result comes out to be 27/03/2017 16:37:58
I want it to show March.
Any suggestions?
Upvotes: 3
Views: 25391
Reputation: 21
This will ensure the month is in English
irrespective of the regional settings on the computer. This will be helpful for those who are releasing an Excel VBA tool worldwide.
previousmonth = WorksheetFunction.Text(DateAdd("m", -1, Date), "[$-409]mmmm")
For abbreviated months eg: Apr
use
previousmonth = WorksheetFunction.Text(DateAdd("m", -1, Date), "[$-409]mmm")
Upvotes: 0
Reputation: 8518
If set to True, the month name is abbreviated e.g. Apr
newDate = MonthName(Month(DateAdd("m", -1, Date)), False)
Upvotes: 2
Reputation: 152450
Format the return as "MMMM"
:
Dim newDate: newDate = Format(DateAdd("M", -1, Now), "MMMM")
Upvotes: 9