すでにレスがある通り、コンピュータは2進数ですので、小数点誤差があります。
つまり、小数点の比較にイコールは使用出来ません。
ところで、コードから条件は以下の通りです。
・6時間以下 ⇒ C
・6時間を超え8時間以下 ⇒ B
・8時間を超える ⇒ A
ただし、上記では、以上を含むので条件式にイコールが必要です。
しかし、この条件は以下のように解釈出来ます。
・8時間を超える ⇒ A
・6時間を超え(8時間以下) ⇒ B
・上記以外 ⇒ C
このように判定条件を変えるとイコールは不要です。また、時刻変数を直接計算はおすすめしません。専用関数を使用すべきです。
Sub text()
Dim T As Date, ABC As String
Dim s As Long
s = DateDiff("s", CDate("12:00"), CDate("18:00"))
's = DateDiff("s", CDate("08:00"), CDate("14:00"))
Select Case TimeSerial(0, 0, s)
Case Is > CDate("8:00")
ABC = "A"
Case Is > CDate("6:00")
ABC = "B"
Case Else
ABC = "C"
End Select
MsgBox ABC
End Sub
なお、例えば、
9時間の時は、A条件が「真」なのでA条件で終了。BやCは実行さされません。同じく、
8時間の時は、A条件は「偽」次のB条件が「真」なのでB判定で終了
6時間の時は、A条件は「偽」、B条件は「偽」です。結果、C判定となります。
つまり、大きな数値から判定することで、〇時間以下の条件判定は不要です。