有問題試圖刪除所有行,直到值1行=「** GRAD *」
我得到運行錯誤438
下面的代碼
Public Sub Delete()
Dim i As Long
i = 1 'Start from row 1
Application.ScreenUpdating = False
With ThisWorkbook.Worksheets("Sheet1")
Do Until .Range("A" & i).Value = "**GRAD"
If .Rage("A" & i).Value <> "**GRAD" Then
.Rows(i).EntireRow.Delete
Else: i = i + 1 'Only increment if the row hasn't been deleted to prevent skipping rows
End If
Loop
End With
Application.ScreenUpdating = True
End Sub
一些幫助,將不勝感激,新VBA。
您可能想要包括'Range(「A」&i).Value = vbNullString'。否則,上面的代碼可能會無限期運行(如果從未找到'** GRAD'),甚至可能會導致計算機崩潰。這就是爲什麼我(個人)試圖完全避免使用「Do Loop」並僅使用「For ... Next」(具有明確的結束行,即使它必須是最後一行= 1,048,576)。 – Ralph
總是使用'選項顯式',你的錯別字將很容易識別! –