一番上の入り口へ > excel > VBA コーディングライブラリ集 > 空白行を削除するマクロ(テスト付き)

空白行を削除するマクロ(テスト付き)

概要

空白行を削除します。

動作ロジック

各行ごとに checkColumnNumber個のセルすべてが空白ならば 空白と見なします。 また、空白行が checkRowNumber 行 続いたら 処理を終了します。

いきなり削除するのは危ないので、 deleteFlagを Falseにしていると ColorIndex と書いてあるところでは色を付けます。
Sub 空白行削除()
    check空白行削除 (True)
End Sub

Sub check空白行削除(deleteFlag As Boolean)

  
   Dim i As Integer, j As Integer
    Dim outCount As Integer, blankAndFlag As Integer
    
    Dim checkColumnNumber As Integer
    
    outCount = 0
    blankAndFlag = 0
    checkColumnNumber = 5 ' n個の空白セルが→(Column)で合った場合空白と見なす。
    checkRowNumber = 10 ' m個の空行が有れば検索終了
    
    For i = 1 To 10000 ' この数の行数+(削除行)分チェック   値は適当
        blankAndFlag = 0
        For j = 1 To checkColumnNumber
            If Cells(i, j).value = "" Or IsNull(Cells(i, j).value) Then
                blankAndFlag = blankAndFlag + 1
            End If
        Next
            
        If blankAndFlag = checkColumnNumber Then
            outCount = outCount + 1
            If outCount > checkRowNumber Then
                'MsgBox "out  " & i & ":" & Cells(i, typesizeLine).value & "/" & Cells(i + 1, typeLine).value & "/" & Cells(i + 1, typeApLine).value
                Exit For
            End If
        

            'MsgBox i & ":" & Cells(i, typesizeLine).value & "/" & Cells(i, typeLine).value
             If deleteFlag Then
                 Rows(i).Delete
                 i = i - 1
             Else
                Rows(i).Interior.ColorIndex = 34
             End If
        Else
            outCount = 0
        End If
    Next i
End Sub



類似リンク

部分一致する行を削除するマクロ(テスト付き)

指定列が重複している行を削除するマクロ

空のセルに文字挿入するマクロサンプル

VBA コーディングサンプル集

VBA マクロライブラリ集