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