How to get start and end of previous month in VB

vbscript last day of current month
vba last day of month
vba last month
vba get last working day of month
get month vba
dateserial
vba date minus 1 month
vba check if date is end of month

Im trying to create some VB code that will get the start and end of the previous month. Im able to the current month which is just:

Month(DateValue(Now))

which would return 3. From there I can take away 1 to give me 2 meaning February. This is fine but what about when I Im in January and I repeat this and it gives me zero - my code will fail. Any one know how to get the previous months start and end day then?

Thanks

The first day of the previous month is always 1, to get the last day of the previous month, use 0 with DateSerial:

''Today is 20/03/2013 in dd/mm/yyyy
DateSerial(Year(Date),Month(Date),0) = 28/02/2013 
DateSerial(Year(Date),1,0) = 31/12/2012 

You can get the first day from the above like so:

LastDay = DateSerial(Year(Date),Month(Date),0)
FirstDay = LastDay-Day(LastDay)+1

See also: How to caculate last business day of month in VBScript

How Can I Determine the Beginning and Ending Date of the , Echo “Last day of previous month: ” & dtmLastDay In line 2 we use the VBScript Day function to extract the day portion of the current date;  The functions below are rewritten from Getting the First and Last day of the month with .NET C# in VB.NET. 'Get the first day of the month Public Function FirstDayOfMonth(ByVal sourceDate As DateTime) As DateTime Return New DateTime(sourceDate.Year, sourceDate.Month, 1) End Function 'Get the last day of the month Public Function LastDayOfMonth(ByVal sourceDate As DateTime) As DateTime Dim lastDay As DateTime = New DateTime(sourceDate.Year, sourceDate.Month, 1) Return lastDay.AddMonths(1

I have similar formula for the First and Last Day

The First Day of the month

FirstDay = DateSerial(Year(Date),Month(Date),1)

The zero Day of the next month is the Last Day of the month

LastDay = DateSerial(Year(Date),Month(Date)+ 1,0) 

How do I return the date of the previous month using VBA?, VBA contains many Date functions that you can utilize for Date calculations. For getting information such as the equivalent date in the previous month, (e.g. to End Sub. Here are some more examples of using DateAdd combined with Format:. set the calendar date and click the find button to report the first and last day of the month for any month selected in the date time picker control set first day. txtFirstDay.Text = GetFirstDayOfMonth (dtpDate.Value).ToShortDateString () get day of week for first day. Dim dateParts () As String = txtFirstDay.Text.Split ("/")

firstDay = DateSerial(Year(DateAdd("m", -1, Now)), Month(DateAdd("m", -1, Now)), 1)
lastDay = DateAdd("d", -1, DateSerial(Year(Now), Month(Now), 1))

This is another way to do it, but I think Remou's version looks cleaner.

VS 2005 Get 1st and last day of previous month-VBForums, I find that I need to get the first and last days of the previous month to use Year - 1 End If Dim DaysInMonth As Integer = Date. vb.net Code:. If you want the last day of the the month specified, use this: Dim original As DateTime = DateTime.Now ' The date you want to get the last day of the month for Dim lastOfMonth As DateTime = original.Date.AddDays(-(original.Day - 1)).AddMonths(1).AddDays(-1)

This works reliably for me in my main sub.

Dim defDate1 As Date, defDate2 As Date

'** Set default date range to previous month
defDate1 = CDate(Month(Now) & "/1/" & Year(Now))
defDate1 = DateAdd("m", -1, defDate1)
defDate2 = DateAdd("d", -1, DateAdd("m", 1, defDate1))

Function to return first day, and last day in a month, I want to get the first date/Last date of a previous month. 'Put logic here to get the start and end of december. Case 2 'Feb View Group Archive: http://vb. The way I've done this in the past is first get the first day of this month. dFirstDayOfThisMonth = DateTime.Today.AddDays( - ( DateTime.Today.Day - 1 ) ); Then subtract a day to get end of last month. dLastDayOfLastMonth = dFirstDayOfThisMonth.AddDays (-1); Then subtract a month to get first day of previous month

Try this to get the month in number form:

Month(DateAdd("m", -3, Now))

It will give you 12 for December.

So in your case you would use Month(DateAdd("m", -1, Now)) to just subract one month.

Get last and first day of previous month - Visual Basic 4 / 5 / 6, hello. I am using following code to access first and last date of current month StartingDate_msk.Text = Format$(Date, "dd/mm/yyyy") Im trying to create some VB code that will get the start and end of the previous month. Im able to the current month which is just: Month(DateValue(Now)) which would return 3. From there I can take away 1 to give me 2 meaning February. This is fine but what about when I Im in January and I repeat this and it gives me zero - my code will fail.

[Solved] How to find previous month's first and last day when I am , Hide Copy Code. DateTime date = DateTime.Now.AddMonths(-1); var firstDayOfMonth = new DateTime(date.Year, date.Month, 1); var  To get the last day of the month, we use the built-in VB function DateSerial, which returns a date value for a specified year, month, and day. The function expects three arguments (a year, a month,

VB makes it easy to calculate the last day of the month, To get the last day of the month, we use the built-in VB function DateSerial, which returns a date value for a specified year, month, and day. The function expects three arguments (a year, a month, and a day). DateTime Now Property. This displays the current date and time of the system, expressed as the local time. In other words the Now property returns a DateTime object that has the date and time values for right now. Month Property. This property is used to get month component of the date. End Date of Last Month in C#. You can do it in C#.

The Top 3 Ways To Get End of the Month Date in Excel [Incl , Get Last Day of the Month using EOMONTH Function. This is the truth, rest all is lie.

Comments
  • Hi Remou was just going over your code again and have another question - why is it that when i do this: LastDay = DateSerial(Year(Date), Month(Date) - 1, 1 - 1) i get 31/01/2013 instead of 28/02/2013? Surely the Month(Date) - 1 returns 2 implying February
  • You have month -2, once for month(date)-1, once for 0 for day. The zeroth day of this month is the last day of the previous month, so February is dateserial(2013,3,0), not as you show.
  • ohh ok - thats decieving. Thanks
  • ?DateSerial(Year(12/1/2015),Month(12/31/2015),0) 11/30/1899 <--- this is what I get when I run this in VB immediate window. How can I make it so it shows 2015 instead of 1899
  • @barry17 You are passing 12/1/2015 which gets interpreted as math and evaluates to somethings like this: DateSerial(Year(0.00595533498759305210918114143921),Month(0.00019210758024493716581229488513568),0) Enclose the dates in quotes like this: DateSerial(Year("12/1/2015"),Month("12/31/2015"),0) . Excel won't implicitly convert ints to dates but it will convert strings to dates.
  • How does that get both start and end day of previous month?
  • Pretty sure that's not VBA.
  • Why not adding an explanation to your code to improve the post?
  • I haven't used VBA in several years - can someone tell me if this is a better solution to the accepted answer? Though I expect an upvote would answer my own question...
  • This is not VBA.