回答編集履歴

1

プロシージャの修正箇所が分かるようにコメントを追加しました。

2024/03/04 00:45

投稿

sk.exe
sk.exe

スコア784

test CHANGED
@@ -32,18 +32,24 @@
32
32
 
33
33
  Dim i As Long
34
34
  Dim j As Long
35
+ '一致フラグの宣言
35
36
  Dim IsMatch As Boolean
36
37
 
37
38
  With ActiveSheet
38
39
  For i = LastRow To 12 Step -1
40
+ '一致フラグの初期化
39
41
  IsMatch = False
40
42
  For j = LBound(Target) To UBound(Target)
43
+ 'i 行目の 2 列目のセルの値に Target の j 番目の値が含まれている場合
41
44
  If InStr(Cells(i, 2), Target(j)) > 0 Then
45
+ '一致フラグを True にしてループを抜ける
42
46
  IsMatch = True
43
47
  Exit For
44
48
  End If
45
49
  Next j
50
+ 'Target のどの要素とも一致しなかった場合
46
51
  If IsMatch = False Then
52
+ ' i 行目を削除
47
53
  .Rows(i).Delete
48
54
  End If
49
55
  Next i