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
如果是想要刪除某欄為0的列
Sub刪除值為0的列()
Dim R As Range, Rng As Range
For Each R In ActiveSheet.Range("A:A").SpecialCells(xlCellTypeConstants).Rows
If Not IsError(Application.Match(0, R, 0)) Then
If Rng Is Nothing Then Set Rng = R Else Set Rng = Union(R, Rng)
End If
Next
If Not Rng Is Nothing Then Rng.EntireRow.Delete