刪除數(shù)據(jù)區(qū)域內(nèi)所有空行的方法有多種,比如排序、高級篩選、自動篩選、VBA編寫。下面小編就這幾種刪除空行的方法逐一介紹。
本文實例為員工的工資和個稅清單。在這個數(shù)據(jù)清單中就存在一些空行,為了制造數(shù)據(jù)透視表,首先就需要將這些空行刪除掉。
第一種刪除空行的方法:排序法
第一步,在數(shù)據(jù)清單的右側(cè)插入一個輔助列,D列。
第二步,在D列中輸入1,2,3,4,5,6,……連續(xù)的自然數(shù)序列。
第三步,單擊“數(shù)據(jù)”——“排序”,對職工姓名列(A列)進(jìn)行升序排序,這樣就將數(shù)據(jù)區(qū)域內(nèi)的所有空行排在了數(shù)據(jù)區(qū)域的底部。
第四步,刪除數(shù)據(jù)區(qū)域內(nèi)底部的所有空行。
第五步,對D列進(jìn)行升序排列,恢復(fù)數(shù)據(jù)的原始位置。
第六步,刪除輔助列,就得到刪除所有空行后的數(shù)據(jù)區(qū)域。
第二種刪除空行的方法方法:高級篩選法
在利用高級篩選工具篩選并刪除數(shù)據(jù)區(qū)域內(nèi)的所有空行之前,首先要設(shè)置條件區(qū)域。進(jìn)行設(shè)置條件區(qū)域需要了解條件區(qū)域的設(shè)置規(guī)則。
為了篩選并刪除數(shù)據(jù)區(qū)域內(nèi)的所有空行,需要對數(shù)據(jù)區(qū)域內(nèi)各列的數(shù)據(jù)進(jìn)行判斷,也就是判斷在某行各列是否有數(shù)據(jù)。對于文本型數(shù)據(jù),星號(*)表示有數(shù)據(jù),對于數(shù)值型數(shù)據(jù),不等于好(<>)表示有數(shù)據(jù),這樣,就可以在原始數(shù)據(jù)區(qū)域之外的任意單元格設(shè)置條件區(qū)域。
設(shè)置完成條件區(qū)域后,單擊“數(shù)據(jù)”——“篩選”——“高級篩選”命令,彈出高級篩選對話框,在“列表區(qū)域”文本框輸入列表區(qū)域“$A$1:$C$20”,在“條件區(qū)域”輸入“$E$2:$G$5”,選中“將篩選結(jié)果復(fù)制到其他位置”, 并在“復(fù)制到”輸入“$I$1:$K$1”,單擊確定即可。
第三種刪除空行的方法方法:自動篩選法
第一步,單擊“數(shù)據(jù)”——“篩選”——“自動篩選”命令。
第二步,從“姓名”單元格的下拉列表中選擇(非空白)選項,得到篩選結(jié)果。
第三步,選取數(shù)據(jù)區(qū)域的所有單元格,按下F5鍵,彈出“定位”對話框,單擊“定位條件”,選擇“可見單元格”,確定。
第四步,復(fù)制,在需要保存數(shù)據(jù)的空白單元格單擊,粘貼。
第五步,刪除原始數(shù)據(jù)區(qū)域。
第四種刪除空行的方法方法:VBA代碼
編寫下面一段出現(xiàn),運(yùn)行這段程序,就可以迅速的將原始數(shù)據(jù)區(qū)域內(nèi)的所有空行刪除。
Sub DeleteEmptyRows()
Dim LastRow As Long
Dim r As Long
LastRow = ActiveSheet.UsedRange.Row – 1 + ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For r = LastRow To 1 Step -1
If Application.WorksheetFunction.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r
Application.ScreenUpdating = True
End Sub






