Bom, eu não estou entendendo direito seu código. Quando você dividiu por "01:00:00"
, era somente pra extrair as horas?
Desconsidere o que falei anteriormente. Você pode usar estas funções para obter horas, minutos e segundos:
Sub Teste()
Dim Tempo
Tempo = TimeValue("01:00:00") ' Ou faça seu cálculo aqui
Dim Horas, Minutos, Segundos
Horas = Hour(Tempo) ' retorna as horas
Minutos = Minute(Tempo) ' retorna os minutos
Segundos = Second(Tempo) ' retorna os segundos
If (Minutos = 0) And (Segundos = 0) Then
msg = MsgBox("Hora cheia (redonda)!", vbOK)
Else
msg = MsgBox("Hora quebrada (não redonda)!", vbOK)
End If
End Sub
E porque comparou com 8:00, 12:00 ou 16:00?
Sub Teste2()
Dim Tempo
Tempo = TimeValue("01:00:00") ' Ou faça seu cálculo aqui
Dim Horas, Minutos, Segundos
Horas = Hour(Tempo) ' retorna as horas
Minutos = Minute(Tempo) ' retorna os minutos
Segundos = Second(Tempo) ' retorna os segundos
If ((horas = 8) or (horas = 12) or (horas = 16)) and (Minutos = 0)) Then
msg = MsgBox("Hora cheia (redonda)!", vbOK)
Else
msg = MsgBox("Hora quebrada (não redonda)!", vbOK)
End If
End Sub
Como falei, não entendi bem o propósito.