サイトアイコン HIBISEI Blog

【Excel VBA】時刻入力で左隣に日付を自動入力する方法|Ctrl+: 対応

あなたはエクセルで「日報」「作業記録」「勤怠管理」などで、時刻を入力したら、日付も一緒に自動入力をボタン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
モバイルバージョンを終了