「エクセル マクロ 空白行削除」
「Exce VBA 空白の行 削除方法」
といった検索が行われているのを見かけることがあります。
Excelで空白行を削除するVBA(Visual Basic for Applications)マクロを探している方の検索です。
空白の行を削除するサンプルマクロ
空白行を削除するマクロといっても、細かくヒヤリングしてみると、いろいろな要望が出てくることが多いのですが、とりあえず、アクティブなワークシートで行全体が空白のときにその行を削除するマクロをご紹介します。
Dim row_end As Long
Dim msg As String
Dim i As Long
msg = "空白の行をすべて削除しますか?"
If MsgBox(msg, vbYesNo) = vbNo Then Exit Sub
row_end = Cells.SpecialCells(xlCellTypeLastCell).Row
For i = row_end To 1 Step -1
If WorksheetFunction.CountA(Rows(i)) = 0 Then
Rows(i).Delete
End If
Next i
サンプルマクロの解説
まず、
row_end = Cells.SpecialCells(xlCellTypeLastCell).Row
で最終セルの行番号を取得します。
ループ処理は、
For i = row_end To 1 Step -1
先に取得した最終行から1行目に向かって処理していきます。
実際に行削除を行う処理がループの中の
If WorksheetFunction.CountA(Rows(i)) = 0 Then
Rows(i).Delete
です。
IF文の
WorksheetFunction.CountA(Rows(i))
はExcel VBAに慣れていない方の場合、見慣れない処理かもしれません。
これはVBAからワークシート関数を利用するときの記述方法です。
ワークシート関数のCOUNTA関数を使うことで、簡単に空白かどうかを調べることができます。
- Newer:結局、WiMAXは買いなのか?
- Older:UQ WiMAXとイーモバイルの回線速度を調べてみました
Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » 空白行を削除するExcelマクロ