【エクセルマクロ】数値が0の行を削除する:作業効率アップの方法

エクセルマクロ_数値が0の行を削除_アイキャッチ エクセルマクロで効率化する

エクセルマクロで、数値が0の行を削除するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
せひ、お試しください。

数値が0の行を削除する

以下のExcelVBAを実行すると、数値が0の行を全削除します。

Sub 数値がゼロの行を削除()

    Dim i As Long
    Dim LastRow As Long

    '最終行
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row

    '行をループ
    For i = LastRow To 1 Step -1
        
        If Cells(i, 2) = "0" Then
        
            '行削除
            Rows(i).Delete
        
        End If
    Next i

End Sub

 

マクロ実行後

値がゼロの行を自動削除しました。

[If Cells(i, 2) = “0” Then] は、セルの値が「0」かどうか判定します。

[Rows(i).Delete] は、該当の行を削除します。


 
 

数値が0の行を削除する(複数セルを判定)

以下のExcelVBAを実行すると、数値が0の行を一気に削除します。

Sub 数字がゼロの行を一括削除()

    Dim i As Long
    Dim j As Long
    Dim LastRow As Long
    Dim LastClm As Long
        
    '最終列
    LastClm = Range("A1").End(xlToRight).Column

    '最終行
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row

    '行をループ
    For i = LastRow To 1 Step -1
    
        '列をループ
        For j = 2 To LastClm
               
            '値が0だったら
            If Cells(i, j) = "0" Then
                
                '最終列まで0だったら
                If j = LastClm Then
                
                    '行削除
                    Rows(i).Delete
                End If
           
            Else
                '値に0以外があったら、次の行へ
                Exit For
            End If
        
        Next j
    Next i

End Sub

 

マクロ実行後

対象セルの値がすべてゼロの行をまとめて削除しました。

下図ではマクロ結果が分かりやすいように、

「0」のセルに色付けしてから、マクロを動作させています。

エクセルマクロ_複数のセルの値が0の行を削除する前と後

 
 

【エクセルマクロ】数値が0の行を非表示にする:作業効率アップの方法
...