Thread: VBA Dates help
View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Robert Mulroney Robert Mulroney is offline
external usenet poster
 
Posts: 9
Default VBA Dates help


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