#2 の harukabcde さんへのフォローです。
表示形式のままではうまく行かないので、イベント型のマクロを考えてみました。
こんなものは、あんまり役に立たないでしょうけれども、思った以上に、マクロでやると、関数よりも難しいです。(関数を使えばよいのですが(^^;)
このマクロは、A1:A10 までに、2:30 などと入れた時に反応するように出来ていますが、そうでないときは、0が入ります。
'<シートモジュール>
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myTime As Double
Dim test As Variant
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
Application.EnableEvents = False
On Error GoTo Err
test = Format(Target.Value, "hh:mm")
myTime = Target.Value
If myTime > 1 Then myTime = myTime - Int(myTime)
Target.Value = Int(myTime * 24 * 100 + 0.5) / 100
Target.NumberFormat = "0.00"
End If
Err:
Application.EnableEvents = True
End Sub
お礼
ありがとうございます。 単純に24を掛けて、表示形式を標準にすれば、できました。 MODを入れる意味は何ですか?