【VBA】複数の特定文字が入っていない行の削除

実現したいこと

タイトルの通りではありますが、
エクセル表のなかで、複数の特定文字を絞り込み、特定文字が入っていない行のデータをクリアしたいです。

発生している問題・分からないこと

Sub 不要行の削除

Dim LastRow As Long
Dim i As Long
Dim i As Long
Dim Target As Variant

‘最終行取得
LastRow = Cells (Rows. Count, 1). End(x|Up). Row

'くだもの
Target =Array (”りんご,ふどう,もも”)

Application. DisplayAlerts = False
With ActiveSheet

’最終行から先頭へルーブ←
For i = LastRow To 12 Step -1

For i = 0 To UBound(Target)

‘くだものに該当しなければ行削除
If Instr(Cells(i, 2), Target (j)) = 0 Then
. Rows (i) .Delete
End If

Next j
Next
End With
Application. DisplayAlerts = True

End Sub

エクセル表(12行目から開始で参照はB列)
1lすいか
2lりんご
3lかき
4lぶどう
5lなし
6lいちご
7lもも

期待する実効値は
2lりんご
4lぶどう
7lもも

なのですが、全て削除されてしまいます。
おそらく複数の特定文字の指定で、
「りんご かつ ぶどう かつ もも」
というフィルターがかかってしまっているとは思うのですが、
「りんご または ぶどう または もも」
が入っている行以外の行を削除するフィルターにするにはどのような関数を使えばよろしいのかおしえていただきたいです!

該当のソースコード

特になし

試したこと・調べたこと

上記の詳細・結果

teratailで同様の事案がないか確認したところ、見つかりませんでした。

補足

特になし

コメントを投稿

0 コメント