0

値が "net" で終わる列 D のセルを検索するこの手順があり、行全体を削除します。ただし、値が「net」で終わるすべての行が削除されるわけではありません。私はアイデアがありません。

Sub DeleteRows_net()
Application.ScreenUpdating = False
Dim rng As Range

For Each rng In Range("D4:D2700")

If InStr(1, rng.Value, "net") > 0 Then
rng.EntireRow.Delete
End If

Next rng

End Sub
4

1 に答える 1

2

これは非常によくある間違いです...削除するためにループするときは、最後の要素から最初の方向に向けて開始する必要があります。ループを次のように変更します。

Dim i%
For i=2700 to 4 Step -1
    If InStr(1, Cells(i, "D").Value, "net") > 0 Then
        Cells(i, "D").EntireRow.Delete
    End If
Next i

Application.ScreenUpdating = Trueところで…手続き終了前にどこかに置くのを忘れずに!

于 2013-03-19T21:57:42.853 に答える