One way:
Case 1:
If Range("M2").Value = #9:30:00# Then
Note that Time(9,30,0) gives a type mismatch error. You could use
TimeSerial(9, 30, 0) instead:
If Range("M2").Value = TimeSerial(9, 30, 0)Then
Case 2:
XL stores values to 15 digits of precision, so 9:30:00 =
0.395833333333333, which is why your comparison didn't work. Even then,
small rounding errors make exact comparisons difficult. You might think
of using something like:
If (CDbl(Range("M2").Value) - 0.395833) < 1e-6 Then
(1 second is a bit more than 1e-5.
In article , <a wrote:
hi,
case 1
i have this column, with time in US locale and in the format H:MM , for
example, 9:30 in cell M2
My VBA code tries to compare
if range(M2).value = time(9,30,0) then DO SOMETHING
just fails to work..
---------------------
case 2,
when i tried to convert the whole column to text, 9:30 becomes 0.39583333,
the time serial code.
but its still useless when I write if range(M2).value = 0.39583333 then DO
SOMETHING
thnks.
|