EXCEL、VBA

【VBA】シートの空行を削除する

 

シートの空行を削除する

データにある空行を削除する関数です

イメージとしては、これ↓を

 

こんな感じにする関数です。

 

シートの存在チェック

上のように、シートにある空行を削除する関数です。

引数 ws :ワークシート

Public Sub deleteEmptyRow(ByVal ws As Worksheet)
    
    '最終行のカウントを取得する
    Dim lastRowsCount As Long
    lastRowsCount = ws.Cells(Rows.Count, 1).End(xlUp).Row  '1列目で最終行を取得する
    
    Dim i As Long
    For i = lastRowsCount To 1 Step -1
        If WorksheetFunction.CountA(ws.Rows(i)) = 0 Then
            ws.Rows(i).Delete
        End If
    Next i

End Sub

 

実行例

' Sheet2の空行を削除する
Call deleteEmptyRow(Worksheets("Sheet2"))