あなたはエクセルで「日報」「作業記録」「勤怠管理」などで、時刻を入力したら、日付も一緒に自動入力をボタン1つで自動化できる方法があったらいいのに!思ったことはありませんか?

VBAを使えば、こんな感じの表で、時刻を入力したら、日付が自動入力されるようにできます。
今回は「【Excel VBA】時刻入力で左隣に日付を自動入力する方法」を紹介します。
【Excel VBA】時刻入力で左隣に日付を自動入力する方法
【Excel VBA】時刻入力で左隣に日付を自動入力する方法です。
1.alt + F11 を同時押し →Sheet1(Sheet1)をダブルクリック

2.コードを入力
コードを入力します。
B列に時刻を入れたら、A列に日付を入力する、という内容です。

3.B列に日付を入れる →A列に日付が入った

これなら時刻を入力するだけなので、日付の入力をしなくていいのでラクですね~。
まとめ
このVBAを使えば、日付の自動入力ができるので、とても便利です。
最後に今回使ったコードです。
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ExitHandler
' B列以外は処理しない
If Intersect(Target, Me.Columns("B")) Is Nothing Then Exit Sub
' 複数セルの変更は処理しない
If Target.CountLarge > 1 Then Exit Sub
' 空白セルは処理しない
If Target.Value = "" Then Exit Sub
' 時刻として入力された数値を判定
If IsNumeric(Target.Value) Then
If Target.Value >= 0 And Target.Value < 1 Then
Application.EnableEvents = False
' 左隣のセルに現在日付を入力
With Target.Offset(0, -1)
.Value = Date
.NumberFormat = "yyyy/m/d"
End With
End If
End If
ExitHandler:
Application.EnableEvents = True
End Sub

コメント