wasimakram101
wasimakram101

Reputation: 103

VBA Code for name of previous month

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

Answers (3)

Abilash
Abilash

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

Kostas K.
Kostas K.

Reputation: 8518

If set to True, the month name is abbreviated e.g. Apr

newDate = MonthName(Month(DateAdd("m", -1, Date)), False)

Upvotes: 2

Scott Craner
Scott Craner

Reputation: 152450

Format the return as "MMMM":

Dim newDate: newDate = Format(DateAdd("M", -1, Now), "MMMM")

Upvotes: 9

Related Questions