You need to cast your date string into the date format. Then it's possible
to do simple artimatic on them. The date format is just a type "Long" which
repersents the number of seconds from or until some arbitarty date (I can't
remember when).
Heres a sub that works our my exact age in weeks:
Sub myAgeInWeeks()
Dim s As Date
Dim e As Date
'cast my string as a date
s = CDate("14/03/1979")
'the current time
e = Now()
'Yes I'm Australian, we put the date the right way round.
Debug.Print "The today's date is " & Day(e) & "/" & Month(e) & "/" & _
Year(e) & " at " & Hour(e) & ":" & Minute(e)
Debug.Print "I am " & (s - e) / 7 & " weeks old."
End Sub
Problem two:
Use the format function to reformat string how you want them to look.
Format(now(), "dddd, mmm d yyyy")
Hope this helps
- Rm
"Sami82" wrote:
Hi All,
I have written the following code to display the dates on a row which
occur between two dates (sdate and edate). These are all mondays. I am
having two problems with this.
1. I want the form to work out the number of weeks between these two
dates (currently you have to type in the amount of weeks). And then i
want this number to automatically update on the form when the end date
has been entered.
2. The dates appear on the excel sheet as 1900 even when i have entered
the dates in the form as dd/mm/yyyy.
Thanks for the help. :)
rivate Sub PromoDatesOK_Click()
Dim sdate As Date
Dim edate As Date
Dim cnt As Integer
Dim wknumtot As Integer
'ActiveWorkbook.Sheets("Claim").Activate
Range("a1").Select
wknumtot = cboweeks.Value
ActiveCell.Value = wknumtot
sdate = Val(sdatebox.Value) - 1
edate = edatebox.Value
Range("d6").Select
ActiveCell.Value = sdate
cnt = 1
Do
If IsEmpty(ActiveCell) = False Then
ActiveCell.Offset(0, 1).Select
ActiveCell = ActiveCell.Offset(0, -1) + 7
cnt = cnt + 1
End If
Loop Until cnt = wknumtot
Unload Me
End Sub
--
Sami82
------------------------------------------------------------------------
Sami82's Profile: http://www.excelforum.com/member.php...o&userid=27111
View this thread: http://www.excelforum.com/showthread...hreadid=466700