|
-
Feb 10th, 2005, 03:12 PM
#1
Thread Starter
Junior Member
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
-
Feb 10th, 2005, 03:21 PM
#2
Re: Days in a month
Use this for the current month...
VB Code:
Dim dFirstOfCurrMonth As Date
Dim dLastOfCurrMonth As Date
dFirstOfCurrMonth = DateAdd("d", -Day(Date), Date) + 1
dLastOfCurrMonth = DateAdd("m", 1, dFirstOfCurrMonth) - 1
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 Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API 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 
-
Feb 10th, 2005, 03:35 PM
#3
Thread Starter
Junior Member
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:
Dim Day as Integer
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
-
Feb 10th, 2005, 03:46 PM
#4
Re: Days in a month
Not quite, that is a reserved keyword (Day). If you change your var declaration then yes.
VB Code:
Dim iDays As Integer
Dim dFirstOfCurrMonth As Date
Dim dLastOfCurrMonth As Date
dFirstOfCurrMonth = DateAdd("d", -Day(Date), Date) + 1
dLastOfCurrMonth = DateAdd("m", 1, dFirstOfCurrMonth) - 1
iDays = DateDiff("d", dFirstOfCurrMonth, dLastOfCurrMonth + 1) '28
'Or
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 Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API 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 
-
Feb 10th, 2005, 03:51 PM
#5
Thread Starter
Junior Member
Re: Days in a month
I'll let you know how it goes...
Thanks,
John
-
Feb 10th, 2005, 04:16 PM
#6
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 Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API 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 
-
Feb 10th, 2005, 04:56 PM
#7
Thread Starter
Junior Member
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:
dDrptDate = Range("G2").Value
dFirstOfCurrMonth = DateAdd("d", -Day(dDrptDate), dDrptDate) + 1
dLastOfCurrMonth = DateAdd("m", 1, dFirstOfCurrMonth) - 1
iDays = Day(dLastOfCurrMonth - dFirstOfCurrMonth)
'iDays = DateDiff("d", dFirstOfCurrMonth, dLastOfCurrMonth + 1) '28
MsgBox (dDrptDate & "Days in month" & iDays)
Last edited by opie_18; Feb 10th, 2005 at 05:06 PM.
-
Feb 10th, 2005, 05:25 PM
#8
Thread Starter
Junior Member
Re: Days in a month
Got it buddy... thank you so much... here's what i did
VB Code:
dDrptDate = Range("G2").Value
dFirstOfCurrMonth = DateAdd("d", -Day(dDrptDate), dDrptDate) + 1
dLastOfCurrMonth = DateAdd("m", 1, dFirstOfCurrMonth) - 1
iDays = (Day(dLastOfCurrMonth) - Day(dFirstOfCurrMonth)) + 1
'iDays = DateDiff("d", dFirstOfCurrMonth, dLastOfCurrMonth + 1) '28
MsgBox ("Month " & Month(dDrptDate) & " has Days " & iDays & " in it")
-
Feb 10th, 2005, 05:41 PM
#9
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 Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API 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 
-
Feb 10th, 2005, 05:52 PM
#10
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:
Dim datCurDate As Date
Dim lngDayCount As Long 'I use long as a force of habit, an integer would suffice as well
datCurDate = Now
'Get the first of the month
datCurDate = DateSerial(Year(datCurDate), Month(datCurDate), 1)
'Get the difference between the first and last days
lngDayCount = DateDiff("d", datCurDate, DateAdd("m", 1, datCurDate))
MsgBox lngDayCount
Correctly returned 28 for the month of Feb.
Tg
-
Feb 10th, 2005, 05:56 PM
#11
Thread Starter
Junior Member
-
Feb 10th, 2005, 05:57 PM
#12
Thread Starter
Junior Member
Re: Days in a month
how do you close this thread since we've solved it???
-
Feb 10th, 2005, 06:05 PM
#13
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
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|