本文講解一次性的刪除數據區域內的所有空列的兩種方法。
在數據透視表系列教程二,講解了一次性的刪除數據區域內的所有空行的幾種方法。制作數據透視表之前必須把工作表中的空行空列都需要刪除,才能避免錯誤。
本文就講解一次性的刪除數據區域內的所有空列的兩種方法。
第一種一次性刪除數據區域內的所有空列的方法是借助輔助列和公式來刪除空列。
這種方法是設計一個輔助列,并利用COUNTA函數統計各列不為空的單元格個數(如果為空列,那么不為空單元格的個數就是0),然后用一個常量除以統計的單元格個數。當某列為空列時,就會出現錯誤值“#DIV/0!”,這樣,就可以利用定位工具定位到所有出現錯誤值的單元格,刪除出現錯誤值單元格所在的整列。
實例如下圖所示:
具體操作步驟如下:
第一步,在數據區域下的任意一行,比如A8單元格輸入公式:=1/COUNTA(A1:A6),然后向右填充復制到H8,得到計算結果,可以看到D、F兩行空列都是錯誤公式。
第二步,單擊任意數據區域的單元格,按下F5鍵,彈出“定位”對話框,單擊“定位條件”,選擇“公式”選項組下面的“錯誤”復選框,確定。就可以將所有錯誤公式的列選中。
第三步,單擊“編輯”——“刪除”——“整列”。
第四步,刪除輔助行。
第二種一次性的刪除數據區域內的所有空列的方法是使用VBA代碼。
下面是編寫的一段程序,只要運行這段程序,就可以迅速將所有空列刪除。代碼如下:
Sub DeleteEmptyColumns()
Dim LastCol As Long, r As Long
LastCol = ActiveSheet.UsedRange.Column – 1 + ActiveSheet.UsedRange.Columns.Count
Application.ScreenUpdating = False
For r = LastCol To 1 Step -1
If Application.WorksheetFunction.CountA(Columns(r)) = 0 Then Columns(r).Delete
Next r
Application.ScreenUpdating = True
End Sub