【Excel VBA】入力した日時を自動表示
最終更新日:
概要
あるセルに文字などを入力した際に、入力した日時が表示されるようにしたい。
今回はA列に入力すると、右隣に日時が自動で出力されます。
サンプル
動作させたいシートに対して、下記を記載します。
サンプル1、サンプル2とありますが、どちらか好きな方をカスタマイズしてください。
サンプル1
Private Sub Worksheet_Change(ByVal Target As Range)
For Each rTarget In Target
If rTarget.Value <> "" And rTarget.Column = 1 Then rTarget.Offset(, 1).Value = Now
Next
End Sub
サンプル2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim l As Long
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
If Target.Count > 1 Then
For l = 1 To Target.Count
If Target(l).Value <> "" And Target(l).Column = 1 Then Target(l).Offset(, 1).Value = Now
Next
Else
If Target.Value <> "" Then Target.Offset(, 1).Value = Now
End If
End Sub
気になる点
既にA列に文字がいくらか入力されていて、
行削除などを行うと、その際に選択していた行の日付が更新される。
行削除や削除後に上シフトしなければ問題はない。