【エクセルVBA】欠損データがある行を行間詰めで一括削除する方法!

EXCEL

【エクセルVBA】欠損データがある行を行間詰めで一括削除する方法! – ヒガサラblog (higashisalary.com)

空欄行を一括削除するVBAコード

早速ですが、以下がさきほど紹介した処理を実行してくれるサンプルコードです。

Sub delete_blank_row()
    Dim i As Integer, num_data As Integer, num_blank As Integer
    num_data = WorksheetFunction.CountA(Range(Cells(1, 1), Cells(1, 1000)))
    i = 1
    Do Until num_blank = num_data
        num_blank = WorksheetFunction.CountBlank(Range(Cells(i + 1, 1), Cells(i + 1, num_data)))
        If num_blank > 0 Then
            Rows(i + 1).Delete Shift:=xlUp
        Else
            i = i + 1
        End If
    Loop
End Sub

なお、今回は以下の前提で書いています。

①1行目のヘッダーには空欄がない

②データの列数は1000列まで

なかなかないとは思いますが、もしこの前提から外れている場合はコードを修正する必要がありますのでご注意ください。

タイトルとURLをコピーしました