私はVBAの初心者であり、次のコードに従って、Ifステートメントで機能する2つのループを作成しようとしました。
Sub Filter()
For Count = Worksheets("STR").Range("A1").End(xlDown).Row To 1 Step -1
For Counter = 5 To Worksheets("Filter").Range("A5").End(xlDown).Row
With Worksheets("STR").Range("C" & Count)
If .Value Like Worksheets("Filter").Range("C" & Counter).Value _
Or .Value Like Worksheets("Filter").Range("D" & Counter).Value _
Or .Value Like Worksheets("Filter").Range("E" & Counter).Value _
Or .Value Like Worksheets("Filter").Range("A" & Counter).Value Then
Worksheets("STR").Range("D" & Count) = "X"
'Worksheets("STR").Row("A" & Count).EntireRow.Delete
Next Counter
End If
End With
Next Count
End Sub
ある段階で、クラッシュするまで何度もループすると思います。デバッガーはそれが「EndIf」行であると教えてくれますが、何が悪いのかわかりません。これを簡単にする方法はありますか?
前もって感謝します!