次のコードを実行すると、全体が完了しません。私は通常、その範囲内のすべてのデータが検査され、その条件が条件を満たす場合は行が削除されることを保証するために、それを数回実行する必要があります。For ...各文は完全に完全なのですか?
Const A% = 1
Const B% = 2
Const C% = 3
Const D% = 4
'Some code
If myCL <> "" Then
For Each Cell In RngB.Cells
If Cell.Value <= myBal Then
r = Cell.Row
If ws.Cells(r, D) <= myScore And ws.Cells(r, C) Like myCL Then
Cell.EntireRow.Delete
End If
End If
Next Cell
ElseIf myCL = "" Then
For Each Cell In RngB.Cells
If Cell.Value <= myBal Then
r = Cell.Row
If ws.Cells(r, D) <= myScore Then
Cell.EntireRow.Delete
End If
End If
Next Cell
End If
私はFor i = ## to 1 Step -1
のようなものを使用しているとき、私は逆に範囲をループをする必要がありますが、私は、これは、このような状況に適用されることになるとは考えていないことを理解しています。
私の問題は、Cell
が基準を満たす必要がある場合、そのコードをスキップしてコードを再実行すると、そのコードが削除されることです。
削除する行が多すぎないとうまく動作します。連合で呼び出されると、連合のパフォーマンスは幾何級数的に低下します。 – Excelosaurus