Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Excel 2013)
任意の選んだ範囲で数値クリアした際別列をクリアVBAコード
投稿日時: 21/01/16 22:15:21
投稿者: ボート

D、E列で選んだ範囲の数値をクリアした時、その範囲のA列部分の数値をクリアするマクロをPrivate Sub Worksheet_Changeで動作させるにはどの様なコードにすれば良いでしょうか?
 
 なおD列、E列の2つの列、数値がクリアされた場合にA列数値をクリア。
 片方の列に数値がある場合はA列クリアせず。
 D列のセル数値クリア、E列のセル数値クリアと2アクションでクリアした場合にもA列数値をクリアしたいです。
範囲は複数行になることもあります、その際は同時に複数行で動作させたいです。

回答
投稿日時: 21/01/17 11:08:02
投稿者: 半平太

こんなのでやって見てください。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim cel As Range
    
    If Intersect(Target, Columns("D:E"), Me.UsedRange) Is Nothing Then
        Exit Sub
    Else
        For Each cel In Target
            If Cells(cel.Row, "A") <> Empty Then '同行のA列に何か入っている場合のみ処理
                
                If Cells(cel.Row, "D") = "" And Cells(cel.Row, "E") = "" Then
                    Application.EnableEvents = False
                        Cells(cel.Row, "A") = Empty
                    Application.EnableEvents = True
                End If
            End If
        Next
    End If
End Sub

投稿日時: 21/01/18 16:31:46
投稿者: ボート

ありがとうございます。
使用させていただきます。