セル内の数値を含む行を削除したい。次のコードを実行すると、IsEmpty関数とIsNumeric()関数が正しく評価され、行が削除されます。しかし、それは何らかの理由で停止し、3回の試行後に完了します。注:私はCell.ValueとCell.Value2を試しました。あなたがその範囲内の数式を持っていない場合セル内の数値を含む行を削除するVBAループ
For Each Cell In Range("H1:H600")
If Not IsEmpty(Cell) Then
If IsNumeric(Cell.Value) Then
Cell.EntireRow.Delete
End If
End If
Next
ボトムアップから、外出先を削除するには、はるかに一貫性のある結果を得るでしょう。 – sous2817
これは、行を削除すると、他の行がバンプするためです。 1を削除すると、iを 'i = i-1'で減らす –
逆方向にループする必要があります。そうしないと、行がスキップされます。 3つのオプションについてはこちらをご覧ください。 http://stackoverflow.com/questions/33744149/code-in-vba-loops-and-never-ends-how-to-fix-this –