Excel VBA テクニック集
空白行の削除





Excel VBA テクニック集


空白行の削除方法です。

使い方は、ファイル一覧を使った応用の、「マクロ専用ファイル」によるマクロ実行に、下記コードを入れます。

たとえば下記表において、利用している領域は、B2:E19になります。その内、空白行は9:10行・16:19行になります。 空白行を判定し、削除する方法です。
    Dim Union_Obj As Object
    Dim StartRow_Frm As Long 
    Dim EndRow_Frm As Long
    Dim StartColm_Frm As Integer 
    Dim EndColm_Frm As Integer
    Dim Empty_B As Boolean
    Dim I As Long
    Dim J As Integer
    
    '利用領域、開始行
    StartRow_Frm = Excel_App.ActiveSheet.UsedRange.Row
    '最終行
    EndRow_Frm = StartRow_Frm + Excel_App.ActiveSheet.UsedRange.Rows.Count - 1
    '開始列番号
    StartColm_Frm = Excel_App.ActiveSheet.UsedRange.Column
    '終了列番号
    EndColm_Frm = StartColm_Frm + Excel_App.ActiveSheet.UsedRange.Columns.Count - 1
    
    Set Union_Obj = Nothing    
    For I = StartRow_Frm To EndRow_Frm
        Empty_B = True
        For J = StartColm_Frm To EndColm_Frm
            'セルにデータが入っているかどうかの判定
            If Not IsEmpty(Excel_App.ActiveSheet.Cells(I, J).Value) Then
                Empty_B = False
                Exit For
                End If
            Next J
        If Empty_B = True Then
            'ここで下記のように、複数の領域の選択した状態にする
            If Union_Obj Is Nothing Then
                Set Union_Obj = Excel_App.ActiveSheet.Rows(I).EntireRow
                Else
                Set Union_Obj = Excel_App.Application.Union(Union_Obj, Excel_App.ActiveSheet.Rows(I).EntireRow)
                End If
            End If
        DoEvents
        Next I
        
    If Not Union_Obj Is Nothing Then
        '選択した領域を削除
        Union_Obj.Delete
        End If
複数の領域の選択


マクロを実行すると、下記のようになります。


「こだわりハウス」写真館| 数学公式集| ピンポイントストリートビュー| FaceBook| Excel Vba テクニック集| Excel 計算式解析・他解析| 富山の建築家| Excel 計算式解析・他解析| 積分の定義・積分の記号の意味の研究|