2017-09-26 90 views
0

我正在對宏代碼進行最後的修改,但是我包含的最後一行是用於刪除A列中的數據爲空的行。當我遇到空白行的情況時,它可以正常工作,但是如果不需要行刪除,我會遇到一個調試問題。如何在下面發佈的代碼更改爲只在基於A列中沒有信息的額外空行時工作,並且在不需要刪除時工作相同。VBA將條件添加到行刪除

Range("A7:A" & LastRow).SpecialCells(xlCellTypeBlanks).EntireRow.Delete 
+3

裹在'上的錯誤恢復Next'然後'對錯誤轉到0'忽略由於沒有空白而導致的任何錯誤。 –

回答

1

計數範圍內的空行第一,如果有再執行刪除代碼,否則只是通過:

If Application.WorksheetFunction.CountBlank(Range("A1:A" & LastRow)) > 0 Then 
    Range("A1:A" & LastRow).SpecialCells(xlCellTypeBlanks).EntireRow.Delete 
End If 
+0

蒂姆威廉姆斯的建議也可以工作,但我並不喜歡使用'在錯誤恢復下',因爲如果你有任何機會越來越多地開發你的代碼,並忘記保持包裝完好無損,那麼你可能會遇到問題。另外,如果沒有空白單元格/行要刪除,你可能想要執行一些其他代碼,在這種情況下'在錯誤恢復下一個'將不方便。 – Ibo

+0

感謝它爲我完美工作。 –

+0

@HazatBangurah請點擊複選標記將其選爲正確答案 – Ibo