2024/01/31

EXCEL:利用VBA巨集刪除有錯誤值的列

EXCEL在利用VLOOKUP函數以及引用資料的時候,偶爾會發生找不到資料的情況,

會顯示為#N/A

或是找出來的該列資料有錯誤其實是不需要的,如果要手動排序找出這些值刪掉列當然可以

不過其實有更快的方法,就是直接在VBA裡面執行一段程式碼

例如我要找出A欄所有有錯誤的列並刪除

你可以這麼寫

Sub 刪除A欄有錯誤的列()

Range("A:A").SpecialCells(xlCellTypeFormulas, xlErrors).EntireRow.Delete

End Sub

也就是尋找A欄中的特殊儲存格,其值為錯誤的,將該列(entire row)刪除

這樣就可以輕鬆刪掉所有不需要錯誤列了

也可以把中間這行程式碼 放在編寫好的巨集末端,使用上會更方便。

 

另外,如果是貼上資料想要刪除有空值的列

也可以把xlCellTypeFormulas, xlErrors換成xlcelltypeblanks

 

也就是下面這個巨集

Sub 刪除A欄值為空白的列() 

Range("A:A").SpecialCells(xlcelltypeblanks).EntireRow.Delete

End Sub