あなたの習慣について教えてください!!

自動的に日付を入力出来ないかと検索すると下記のようなコードを見つけました

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 Then Exit Sub
Application.EnableEvents = False
Target.Offset(, 2).Value = Now
Application.EnableEvents = True
End Sub
※F列に入力されるとその行のH列に今日の日付が表示されます

このコードですと、F列に入力されたものをDeleteしても、H列の日付はそのまま残ってしまいます
Deleteとすると日付も消える方法(コード)は可能でしょうか?

エクセルXBA初心者なので、お教えくだされば幸いです

A 回答 (1件)

Private Sub Worksheet_Change(ByVal Target As Range)


Dim ws As Worksheet
Set ws = Me

' 変更されたセルがF列にあるか確認
If Not Intersect(Target, ws.Range("F:F")) Is Nothing Then
Application.EnableEvents = False ' 無限ループ防止

Dim cell As Range
For Each cell In Target
' F列のセルが空白ならH列をクリア、そうでなければ今日の日付を入力
If IsEmpty(cell.Value) Then
ws.Cells(cell.Row, "H").ClearContents
Else
ws.Cells(cell.Row, "H").Value = Date
End If
Next cell

Application.EnableEvents = True ' イベントを再有効化
End If
End Sub
    • good
    • 1
この回答へのお礼

ありがとうございました。

思っていた通りに出来ました

お礼日時:2025/02/04 15:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A