本文講解一次性的刪除數(shù)據(jù)區(qū)域內(nèi)的所有空列的兩種方法。
在數(shù)據(jù)透視表系列教程二,講解了一次性的刪除數(shù)據(jù)區(qū)域內(nèi)的所有空行的幾種方法。制作數(shù)據(jù)透視表之前必須把工作表中的空行空列都需要?jiǎng)h除,才能避免錯(cuò)誤。
本文就講解一次性的刪除數(shù)據(jù)區(qū)域內(nèi)的所有空列的兩種方法。
第一種一次性刪除數(shù)據(jù)區(qū)域內(nèi)的所有空列的方法是借助輔助列和公式來(lái)刪除空列。
這種方法是設(shè)計(jì)一個(gè)輔助列,并利用COUNTA函數(shù)統(tǒng)計(jì)各列不為空的單元格個(gè)數(shù)(如果為空列,那么不為空單元格的個(gè)數(shù)就是0),然后用一個(gè)常量除以統(tǒng)計(jì)的單元格個(gè)數(shù)。當(dāng)某列為空列時(shí),就會(huì)出現(xiàn)錯(cuò)誤值“#DIV/0!”,這樣,就可以利用定位工具定位到所有出現(xiàn)錯(cuò)誤值的單元格,刪除出現(xiàn)錯(cuò)誤值單元格所在的整列。
實(shí)例如下圖所示:
具體操作步驟如下:
第一步,在數(shù)據(jù)區(qū)域下的任意一行,比如A8單元格輸入公式:=1/COUNTA(A1:A6),然后向右填充復(fù)制到H8,得到計(jì)算結(jié)果,可以看到D、F兩行空列都是錯(cuò)誤公式。
第二步,單擊任意數(shù)據(jù)區(qū)域的單元格,按下F5鍵,彈出“定位”對(duì)話框,單擊“定位條件”,選擇“公式”選項(xiàng)組下面的“錯(cuò)誤”復(fù)選框,確定。就可以將所有錯(cuò)誤公式的列選中。
第三步,單擊“編輯”——“刪除”——“整列”。
第四步,刪除輔助行。
第二種一次性的刪除數(shù)據(jù)區(qū)域內(nèi)的所有空列的方法是使用VBA代碼。
下面是編寫的一段程序,只要運(yùn)行這段程序,就可以迅速將所有空列刪除。代碼如下:
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