Excel VBAで空白行を削除する方法【A列からF列】

Visual Basic

Excel VBAを使って、A列からF列までのデータが入力されているセル範囲内で空白行を削除する方法について解説します。空白行を削除することで、データの整理が効率よく進みます。

VBAで空白行を削除する基本的な方法

まずは、VBAコードを使ってA列からF列までのデータが存在する範囲のうち、空白行を削除する基本的な方法をご紹介します。空白行を削除するには、以下のコードをVBAエディタに入力します。

Sub DeleteEmptyRows() 
Dim lastRow As Long 
Dim i As Long 

'最終行を取得
lastRow = Cells(Rows.Count, 1).End(xlUp).Row

'1行ずつチェックして空白行を削除
For i = lastRow To 1 Step -1
    If Application.CountA(Rows(i)) = 0 Then
        Rows(i).Delete
    End If
Next i
End Sub

このコードでは、まずA列の最終行を取得し、その後1行ずつ空白かどうかをチェックして空白行を削除します。空白行とは、A列からF列まで全てが空白の行です。

VBAコードのポイント

上記のコードで重要な点は、`Application.CountA(Rows(i))`を使用して、その行にデータが入っているかどうかを判定しているところです。`CountA`は、セルに何らかのデータがある場合にその行のデータ数を返します。もし、データがない場合は`0`を返すので、空白行を削除することができます。

データ範囲を指定する方法

このコードでは、A列に基づいて最終行を判断していますが、もしデータ範囲を変更したい場合は、次のように`Cells(Rows.Count, 1)`の部分を変更することができます。

lastRow = Cells(Rows.Count, 6).End(xlUp).Row

上記の変更により、F列を基準に最終行を判断し、その範囲内で空白行を削除します。

まとめ

Excel VBAを使って、A列からF列までのデータ範囲で空白行を削除する方法をご紹介しました。このコードを実行することで、空白行を一気に削除でき、効率的にデータ整理が行えます。コード内の範囲を変更することで、他の列にも対応できるので、状況に応じてカスタマイズしてください。

コメント

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