指定列からデータを検索し、指定範囲のデータをクリアするマクロ


Sheet1のL列に指定した文字(XYZ)があった場合、該当行のA~I列のセルデータをクリアするマクロ作成をお願いいたします。お時間ある方アドバイスいただければ幸いです。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2017/11/01 09:34:17
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:ardarim No.1

回答回数897ベストアンサー獲得回数145

ポイント600pt

簡単なものですが、こんな感じになります。

Sub ClearAtoI()

    Dim r As Long
    
    For r = 1 To ActiveSheet.Cells.SpecialCells(xlLastCell).Row
        If InStr(Cells(r, 12).Value, "XYZ") > 0 Then
            Range(Cells(r, 1), Cells(r, 9)).Clear
        End If
    Next r

End Sub

L列に文字が書かれたら自動的にマクロを作動させるようにすることもできます。
その場合は次のようなマクロになります。

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim rng As Range
    Dim cl As Range

    Set rng = Application.Intersect(Target, Columns("L"))
    If Not rng Is Nothing Then
        For Each cl In rng
            If InStr(cl.Value, "XYZ") > 0 Then
                Range(Cells(cl.Row, 1), Cells(cl.Row, 9)).Clear
            End If
        Next cl
    End If
    Set rng = Nothing

End Sub
id:tororosoba

ardarimさん、

迅速なご回答ありがとうございました!
該当セルのデータがクリアされました。

2017/11/01 09:33:49

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません