とりあえず、8.30 と入力すれば 8:30 となればいい、というのであれば、
Private Sub Worksheet_Change(ByVal Target As Range)
Dim h As Integer
Dim m As Integer
If Target.Column <> 1 Then Exit Sub 'A列に入力するときのみ有効
If Not IsNumeric(Target.Value) Then Exit Sub
h = Int(Target.Value)
m = (Target.Value - h) * 100
Application.EnableEvents = False
Target.Value = h & ":" & m
Application.EnableEvents = True
End Sub
とかでいけるかな?
時刻とならないような、8.85 みたいなのを入れると、うまくいきません。(シリアル値が生で表示される)
でも、私なら
> : の入力がそんなに難しいのか?右手でテンキーを使うなら左手を : の所に置いて居れば良いじゃないか?
に一票!
お礼
ありがとうございますm(__)m lll49erlllさんのような意見を期待していました。 実は、私は給与計算の入力をされる方と、プログラマーとの間に入ってやり取りをしている立場です。 プログラマーの方はなかなか、現場の意見には納得できないようで「指を少し動かすだけだろ」的な固定概念があり、一方入力側は「右手だけで済ましたい。入力が何百とあると大変」という意見であり、間に挟まった私は毎日悩まされる日々でした(今回の時間入力以外にも難問があって・・) 私に知識があれば現場の方々の意見を取り入れて作ってあげたいとは思うのですが、残念ながらそのような頭はもっておらず、lll49erlllさんのような柔軟な考え方のできる方の意見を吸収できてありがたいです。 ただ、参考に為せていただいたファイルの中の「アンダーバー4個に@ =文字の右にスペースが入り、文字が左に押し出されて、みえなくするため」の意味が理解できないのですが、出来ればもう少し砕けて説明していただくことは出来ませんか? lll49erlllさんのような頭を持ち合わせておらずすいませんm(__)m