【エクセルVBA】指定した品番を含む行を一括削除するマクロ

ExcelVBA

特定品番の行を一気に削除したいなあ。

こんにちは。シバマメです!

沢山の品番があって、

指定した品番の行だけを一括削除したいことがあると思います。

行数の少ないデータなら、一個一個選択して消していけばよいのですが、

数百数千行のデータになると面倒ですよな。

並び替えて一気に消す方法もありますが、並び方が変わってしまいます。

本日は、指定された品番を含む行を一括で削除するマクロを紹介します。

指定された地域とか、指定された担当者を含む行を消すとか、

そんな応用もできます。

↓は、もとの表から「さるソード」を選択して削除した例です。

 

使い方

1

2

  • 対象のエクセル表を開いた状態でマクロを実行します。 F5 or ▶ボタンで実行

3

  • 実行すると、どの列に含まれるキーワードを対象にするのか聞かれます。
    ※上記の例では1列目を選択しています。
  • 次に削除するキーワードを聞かれます。
    ※上記の例では、さるソードと入力しています。
Sub TargetRowdelete()

' 最終行列取得
        Dim maxRow As Long
        Dim maxCol As Long
        maxRow = Cells(Rows.Count, 1).End(xlUp).Row
        maxCol = Cells(1, Columns.Count).End(xlToLeft).Column
       
' 入力
        Dim iKey As Long
        iKey = InputBox("品番は何列目ですか?")
        Dim Titem As Variant
        Titem = InputBox("削除したい商品コードを入力して下さい")
       
' 削除実行

        Dim i As Long
        For i = 1 To maxRow
            If Cells(i, iKey) = Titem Then
            Rows(i).Delete
            End If
        Next i
       

End Sub
シバマメのラインスタンプ販売中です!

↓よろしければクリックお願いします🌼
ブログランキング・にほんブログ村へにほんブログ村






コメント

タイトルとURLをコピーしました