Using If Statements and a Time Variable
Hi,
Try something like this:-
Sub Time_Test()
Dim myTime As Date 'Note times as actually fractions of a date
Dim myMsge As String
myTime = Now - Date
Select Case myTime
Case TimeValue("00:00:01") To TimeValue("11:59:59")
myMsge = "Good Morning"
Case TimeValue("12:00:00") To TimeValue("18:59:59")
myMsge = "Good Afternoon"
Case TimeValue("12:00:01") To TimeValue("23:59:59")
myMsge = "Good Evening"
End Select
MsgBox myMsge
End Sub
Regards,
OssieMac
" wrote:
I am trying to run a macro upon opening a Workbook that will display a
short message based on the time of day.
If the current time is less than the time i.e. in mytime then it will
dipslay a "Good Morning Message in a box." Which is accomplished
when it goes to the Good Morning code.
My problem is that i cannot the the VBA to work and display (Good
Morning, Good Afternoon, or Good Night).
I cannot get it to work for all time variables. It seems that the
time is only read by its value such as if the current time its 11:15
PM my first If statement sees it as true. How do i get it to read as
11:15 PM or 23:15:00 (military time)?
Any help?
mytime1 = TimeValue("11:59:00")
mytime2 = TimeValue("20:59:00")
mytime3 = TimeValue("23:59:00")
Sheets("Estimate").Select
If mytime1 Range("mytime") Then
GoTo Good_Morning
Else
If mytime2 Range("mytime") Then
GoTo Good_AFTERNOON
Else
If mytime3 Range("mytime") Then
GoTo Good_Evening
End if
RG
|