【エクセル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列まで
なかなかないとは思いますが、もしこの前提から外れている場合はコードを修正する必要がありますのでご注意ください。