【VBA】For文を使って条件に一致した行を簡単に削除する方法

こんにちは!大阪市を拠点に活動している『縁紡ぐ』の稲垣です。

SWELLを使ったホームページ制作や、Excel、ACCESS、RPAなどのシステム開発を行っています。
また、Excel、Word、Outlookの研修や、情報セキュリティ研修も行っています。身近なITの相談相手になりたいと思っています。

お気軽にお問い合わせください。

目次

条件に一致した行を削除する手順

業務効率化を目指しているあなたにとって、VBAは非常に便利なツールです。特に、条件に一致した行を削除する作業は、データ整理においてよく発生します。この記事では、VBA初心者でもFor文で簡単に実行できる方法を解説します。

コード

まずはコード全体です。

Sub DeleteRowsBasedOnCondition()
    Dim ws As Worksheet
    Dim LastRow As Long
    Dim i As Long

    ' シートを指定
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' 最終行を取得
    LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    ' 下から上に向かって行をチェックし対象の場合は削除実行
    For i = LastRow To 1 Step -1
        'C列が削除の行を対象とする
        If ws.Cells(i, 3).Value = "削除" Then
            ws.Rows(i).Delete
        End If
    Next i
End Sub

ポイント

For文で削除するためのコツは、下から順番に削除対象のセルかを判断し削除することです。

For i = LastRow To 1 Step -1

A列の値が「削除」に一致する行を削除するものです。

実行前

C列が「削除」となっている行が削除対象です。

実行中

まずは、6行目が削除され、1行詰まったことが確認できます。あとは、プログラムを最後まで実行します。

実行後

まとめ

VBAを使って条件に一致する行を削除する方法は非常にシンプルです。このテクニックをマスターすれば、データ整理が格段に効率化されます。ぜひ、実際に試してみてください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次