Results 1 to 13 of 13

Thread: Days in a month

  1. #1

    Thread Starter
    Junior Member
    Join Date
    Jan 2005
    Posts
    31

    Question Days in a month

    Hello,

    Is there a formula in excel or vba that will return how many days are in a specified month...

    Thanks so much....

    John

  2. #2
    Ex-Super Mod RobDog888's Avatar
    Join Date
    Apr 2001
    Location
    LA, Calif. Raiders #1 AKA:Gangsta Yoda™
    Posts
    60,709

    Re: Days in a month

    Use this for the current month...
    VB Code:
    1. Dim dFirstOfCurrMonth As Date
    2.     Dim dLastOfCurrMonth As Date
    3.     dFirstOfCurrMonth = DateAdd("d", -Day(Date), Date) + 1
    4.     dLastOfCurrMonth = DateAdd("m", 1, dFirstOfCurrMonth) - 1
    5.     MsgBox DateDiff("d", dFirstOfCurrMonth, dLastOfCurrMonth + 1)
    VB/Office Guru™ (AKA: Gangsta Yoda®)
    I dont answer coding questions via PM. Please post a thread in the appropriate forum.

    Microsoft MVP 2006-2011
    Office Development FAQ (C#, VB.NET, VB 6, VBA)
    Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
    If a post has helped you then Please Rate it!
    Reps & Rating PostsVS.NET on Vista Multiple .NET Framework Versions Office Primary Interop AssembliesVB/Office Guru™ Word SpellChecker™.NETVB/Office Guru™ Word SpellChecker™ VB6VB.NET Attributes Ex.Outlook Global Address ListAPI Viewer utility.NET API Viewer Utility
    System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6

  3. #3

    Thread Starter
    Junior Member
    Join Date
    Jan 2005
    Posts
    31

    Re: Days in a month

    ok so I could do this to just get the number of days i.e. 30 or 31 or 28

    VB Code:
    1. Dim Day as Integer
    2.  
    3. Day = dLastOfCurrMonth + 1

    I will need that number so that I can do a for loop and add it to the date so that I have jan 1, jan 2, jan 3, jan 4... I beleive that the date is converted to an integer because it's pulled in from a text file... so if that's the case I should be good....

    Thank you

  4. #4
    Ex-Super Mod RobDog888's Avatar
    Join Date
    Apr 2001
    Location
    LA, Calif. Raiders #1 AKA:Gangsta Yoda™
    Posts
    60,709

    Re: Days in a month

    Not quite, that is a reserved keyword (Day). If you change your var declaration then yes.
    VB Code:
    1. Dim iDays As Integer
    2. Dim dFirstOfCurrMonth As Date
    3. Dim dLastOfCurrMonth As Date
    4. dFirstOfCurrMonth = DateAdd("d", -Day(Date), Date) + 1
    5. dLastOfCurrMonth = DateAdd("m", 1, dFirstOfCurrMonth) - 1
    6. iDays = DateDiff("d", dFirstOfCurrMonth, dLastOfCurrMonth + 1) '28
    7. 'Or
    8. iDays = Day(dLastOfCurrMonth + 1
    VB/Office Guru™ (AKA: Gangsta Yoda®)
    I dont answer coding questions via PM. Please post a thread in the appropriate forum.

    Microsoft MVP 2006-2011
    Office Development FAQ (C#, VB.NET, VB 6, VBA)
    Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
    If a post has helped you then Please Rate it!
    Reps & Rating PostsVS.NET on Vista Multiple .NET Framework Versions Office Primary Interop AssembliesVB/Office Guru™ Word SpellChecker™.NETVB/Office Guru™ Word SpellChecker™ VB6VB.NET Attributes Ex.Outlook Global Address ListAPI Viewer utility.NET API Viewer Utility
    System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6

  5. #5

    Thread Starter
    Junior Member
    Join Date
    Jan 2005
    Posts
    31

    Re: Days in a month

    I'll let you know how it goes...

    Thanks,

    John

  6. #6
    Ex-Super Mod RobDog888's Avatar
    Join Date
    Apr 2001
    Location
    LA, Calif. Raiders #1 AKA:Gangsta Yoda™
    Posts
    60,709

    Re: Days in a month

    Ok, 's
    VB/Office Guru™ (AKA: Gangsta Yoda®)
    I dont answer coding questions via PM. Please post a thread in the appropriate forum.

    Microsoft MVP 2006-2011
    Office Development FAQ (C#, VB.NET, VB 6, VBA)
    Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
    If a post has helped you then Please Rate it!
    Reps & Rating PostsVS.NET on Vista Multiple .NET Framework Versions Office Primary Interop AssembliesVB/Office Guru™ Word SpellChecker™.NETVB/Office Guru™ Word SpellChecker™ VB6VB.NET Attributes Ex.Outlook Global Address ListAPI Viewer utility.NET API Viewer Utility
    System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6

  7. #7

    Thread Starter
    Junior Member
    Join Date
    Jan 2005
    Posts
    31

    Re: Days in a month

    for January it gave me 10 days....Hang on

    change your Date to = my date field but...
    this gives me 29 days for January

    VB Code:
    1. dDrptDate = Range("G2").Value
    2.     dFirstOfCurrMonth = DateAdd("d", -Day(dDrptDate), dDrptDate) + 1
    3.     dLastOfCurrMonth = DateAdd("m", 1, dFirstOfCurrMonth) - 1
    4.     iDays = Day(dLastOfCurrMonth - dFirstOfCurrMonth)
    5.     'iDays = DateDiff("d", dFirstOfCurrMonth, dLastOfCurrMonth + 1) '28
    6.     MsgBox (dDrptDate & "Days in month" & iDays)
    Last edited by opie_18; Feb 10th, 2005 at 05:06 PM.

  8. #8

    Thread Starter
    Junior Member
    Join Date
    Jan 2005
    Posts
    31

    Re: Days in a month

    Got it buddy... thank you so much... here's what i did

    VB Code:
    1. dDrptDate = Range("G2").Value
    2.     dFirstOfCurrMonth = DateAdd("d", -Day(dDrptDate), dDrptDate) + 1
    3.     dLastOfCurrMonth = DateAdd("m", 1, dFirstOfCurrMonth) - 1
    4.     iDays = (Day(dLastOfCurrMonth) - Day(dFirstOfCurrMonth)) + 1
    5.     'iDays = DateDiff("d", dFirstOfCurrMonth, dLastOfCurrMonth + 1) '28
    6.     MsgBox ("Month " & Month(dDrptDate) & " has Days " & iDays & " in it")

  9. #9
    Ex-Super Mod RobDog888's Avatar
    Join Date
    Apr 2001
    Location
    LA, Calif. Raiders #1 AKA:Gangsta Yoda™
    Posts
    60,709

    Re: Days in a month

    Cool! Nicer way to do it.

    Ps, dont forget to Resolve your thread.
    VB/Office Guru™ (AKA: Gangsta Yoda®)
    I dont answer coding questions via PM. Please post a thread in the appropriate forum.

    Microsoft MVP 2006-2011
    Office Development FAQ (C#, VB.NET, VB 6, VBA)
    Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
    If a post has helped you then Please Rate it!
    Reps & Rating PostsVS.NET on Vista Multiple .NET Framework Versions Office Primary Interop AssembliesVB/Office Guru™ Word SpellChecker™.NETVB/Office Guru™ Word SpellChecker™ VB6VB.NET Attributes Ex.Outlook Global Address ListAPI Viewer utility.NET API Viewer Utility
    System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6

  10. #10
    PowerPoster techgnome's Avatar
    Join Date
    May 2002
    Posts
    34,687

    Re: Days in a month

    Seems like a lot of work to me.... It took me a while to see just how it was working.... using the negative of Day() to back track to the first - slick.... here's how I've done it in the past:
    VB Code:
    1. Dim datCurDate As Date
    2. Dim lngDayCount As Long 'I use long as a force of habit, an integer would suffice as well
    3.  
    4.  
    5. datCurDate = Now
    6. 'Get the first of the month
    7. datCurDate = DateSerial(Year(datCurDate), Month(datCurDate), 1)
    8. 'Get the difference between the first and last days
    9. lngDayCount = DateDiff("d", datCurDate, DateAdd("m", 1, datCurDate))
    10. MsgBox lngDayCount

    Correctly returned 28 for the month of Feb.

    Tg
    * I don't respond to private (PM) requests for help. It's not conducive to the general learning of others.*
    * I also don't respond to friend requests. Save a few bits and don't bother. I'll just end up rejecting anyways.*
    * How to get EFFECTIVE help: The Hitchhiker's Guide to Getting Help at VBF - Removing eels from your hovercraft *
    * How to Use Parameters * Create Disconnected ADO Recordset Clones * Set your VB6 ActiveX Compatibility * Get rid of those pesky VB Line Numbers * I swear I saved my data, where'd it run off to??? *

  11. #11

    Thread Starter
    Junior Member
    Join Date
    Jan 2005
    Posts
    31

    Re: Days in a month

    very nice...

    TY

  12. #12

    Thread Starter
    Junior Member
    Join Date
    Jan 2005
    Posts
    31

    Re: Days in a month

    how do you close this thread since we've solved it???

  13. #13
    PowerPoster techgnome's Avatar
    Join Date
    May 2002
    Posts
    34,687

    Re: Days in a month

    Edi the first post. Add "[RESOLVED]" to the subject line, then select the green check mark in the "Post Icons" section, click the update button. And yer done.

    Tg
    * I don't respond to private (PM) requests for help. It's not conducive to the general learning of others.*
    * I also don't respond to friend requests. Save a few bits and don't bother. I'll just end up rejecting anyways.*
    * How to get EFFECTIVE help: The Hitchhiker's Guide to Getting Help at VBF - Removing eels from your hovercraft *
    * How to Use Parameters * Create Disconnected ADO Recordset Clones * Set your VB6 ActiveX Compatibility * Get rid of those pesky VB Line Numbers * I swear I saved my data, where'd it run off to??? *

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width