VBAで
・指定した文字列が設定されていない行を削除
できます!
VBAコード
ここでは例として
・シート「売上」にある表の各行を確認して
・列「担当者」に文字列「田中」が含まれていない場合は削除
します。
Option Explicit
Sub sample()
'対象文字列が設定されているかどうかを確認する列
Const TANTO_COLUMN As Long = 2
'表の開始行
Const START_ROW As Long = 3
Dim ws As Worksheet
Dim endRow As Long
Dim row As Long
Dim tantoName As String
Dim notDeleteTantoName As String
'対象シート
Set ws = ThisWorkbook.Worksheets("売上")
'削除対象でない文字列
notDeleteTantoName = "田中"
'最終行を取得する(下から上へ見ていく)
endRow = ws.Cells(Rows.Count, TANTO_COLUMN).End(xlUp).row
'行数分繰り返し ※下の行から上の行へ向かって繰り返す
For row = endRow To START_ROW Step -1
'表の行から担当者名を取得
tantoName = ws.Cells(row, TANTO_COLUMN)
'削除対象でない文字列の場合は行を削除
If tantoName <> notDeleteTantoName Then
ws.Rows(row).Delete
End If
Next
End Sub
実行結果
指定した文字列が設定されていない行を、削除できました。
※列「担当者」に文字列「田中」が含まれていない場合は削除できました。
参考
上記のVBAコードは、以下の記事を参考にして作成しました。
●最終行を取得する
●表の行数分、繰り返し処理をする【ループ】