我使用下面的代碼,試圖刪除整個行,當它在特定的「名稱」列小於4個字符列刪除行。 (即第1行標題爲NAME的列)數據庫當前有大約10,000行。我知道現在的代碼很接近,但在運行時出現VB錯誤。我想我可能是通過錯誤的名稱來搜索特定的列。宏從具有小於4個字符
Sub Macro2()
' Macro to delete rows if there are less than 4 in the NAME column
Dim LR As Long, i As Long
Application.ScreenUpdating = False
LR = Range("NAME" & Rows.Count).End(xlUp).Row
For i = LR To 1 Step -1
If Len(Range("NAME" & i).Value) < 4 Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
End Sub
編輯:我收到VBA錯誤的下面一行:
LR = Range("NAME" & Rows.Count).End(xlUp).Row
我不能得到什麼這個名字的事情,因爲你可能不會有這麼多的命名範圍?有兩種選擇:檢查範圍時你的代碼是錯誤的(最好使用'.Cells(i,j)'或者你最好檢查你的命名範圍是否存在 – JMax
是否是特定列中的「NAME」單元格?它總是一樣的嗎?我會直接引用該值,就像@JMax所描述的那樣,使用'.Cells(i,j)'或'.Range(「A」&Row)'。 – Gaffi
什麼是錯誤?發生在? –