列Nに0または正の値を含むすべての行(行全体)を削除する必要があります。以下のコードはこれを適切に実行しますが、問題は行1に列ヘッダー(すべてのテキスト)があることです。この行は、現在のマクロによって削除されます。この行がマクロ効果の範囲に含まれたり、何らかの理由でロックされたりしないようにする必要があります。行数は動的であるため、マクロを実行するための固定範囲を指定することはできません。
Sub Step20()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim i As Long
For i = Range("N" & Rows.Count).End(xlUp).Row To 1 Step -1
If (Range("N" & i).Value >= 0) Then
Range("N" & i).EntireRow.Delete
End If
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
ありがとう!
最後の行からドキュメント全体である最初の行まで実行するようにコードを設定しています。行2まで実行するように変更した場合はどうなりますか?ヘッダーが1行目にあることを確認するだけで済みます。
これが私があなたのコードで変更するものです:
For i = Range("N" & Rows.Count).End(xlUp).Row To 2 Step -1
このようにして、最初の行を保持し、それでも作業を完了できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加