ICTを業務に活かすお手伝い

Excelで時刻を入力する際に:(コロン)をつけるのが結構面倒なんです。
例えば勤怠をExcelで管理している場合などは大量に入力するのでなおさらです。
今回はで数字を入力するだけで自動的に:(コロン)を入力してくれる便利なTipsを紹介します。

 

 

1.目的のExcelファイルを開いた状態で「Alt」キー+「F11」キーを押します。

timesheet

 

 

2.VBA(Microsoft Visual Basic for applications)が起動したら目的のシートをダブルクリックします。

vba2

 

 

3.右側に白いウィンドウが開いたら下記のコードを貼り付けします。

vba1

‘————————————————-
Private Sub Worksheet_Change(ByVal Target As Range)

Dim T As Range
Dim v As Integer

‘—- 時刻に変換したいセルの範囲指定 ————-

Set T = Range(“E11:H41,O6:O6”)
‘————————————————-
Set Target = Application.Intersect(T, Target)
If Target Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target.Value < 1 Then Exit Sub
v = Val(Target.Value)

On Error GoTo err

Target.Value = TimeValue(Format(v, “#00:00”))
Set T = Nothing
Exit Sub

err:
Target.Select
MsgBox “入力値 ” & v & ” は無効です。”, vbCritical
Selection = vbNullString

End Sub
‘————————————————-

 

 

 

4. :を自動入力させたいセルを範囲指定に上書きします。

‘—- 時刻に変換したいセルの範囲指定 ————-

Set T = Range(“E11:H41,O6:O6“)
‘————————————————-

上記の場合、赤枠で囲んだE11:H41及びO6が自動変換の範囲となります。

timesheet

 

 

5.Excelのシート上で数字を入力して時刻に変換されるか確認してください。

問題が無ければ「名前をつけて保存」で「マクロ有効ブック」を選択して保存します。

save

 

 

以上で完了です

今回使用したファイルをダウンロードして動作を確認することが出来ます。
※マクロを有効にしてファイルを開いてください
※ファイル保護のためVBAにはパスワードロックをかけてあります