How can I do date "calculations"?

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

To be more specific, if a user gives me a date in the format of 4/24/06, I am
supposed to return a list of the next "X" amount of weeks, starting with
Monday. For example, I would return 5/1/06, 5/8/06, if they wanted two
weeks, or I would return 5/1/06, 5/8/06, 5/15/06, 5/22/06, 5/29/06, 6/5/06,
if they wanted 6 weeks. I am always using the day Monday as reference. Can
these dates be calculated in a way?

Any code would be very helpful.

Thanks
 
assuming they will always give you a monday

Sub Hereisasample()
Dim dt as Date, n as Long, i as Long, s as String
dt = cdate(inputbox("Enter a monday date"))
n = 6
for i = 1 to n
s = s & format((dt + 7 * i),"mm/dd/yyyy") & vbNewline
next
msgbox s
End Sub
 
Thanks to both of you!



Tom Ogilvy said:
assuming they will always give you a monday

Sub Hereisasample()
Dim dt as Date, n as Long, i as Long, s as String
dt = cdate(inputbox("Enter a monday date"))
n = 6
for i = 1 to n
s = s & format((dt + 7 * i),"mm/dd/yyyy") & vbNewline
next
msgbox s
End Sub
 
Perhaps another option, but with no checking if the start date is a Monday.

Sub Demo()
'// Your info here:
Const NumberOfWeeks As Long = 7
Range("A1") = "4/24/2006"

'// Then...
Range("A1").Resize(NumberOfWeeks).DataSeries Date:=xlDay, Step:=7
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top