vbaの有識者の方ご教授願います。<やりたい事>6行目から100行目までの範囲でB列が空白セルとなる該当行については、行ごと削除するにはどのようなコードを記述すればよろしいでしょうか?(例)の添付図1の場合であれば21行目以降は削除になります。何卒宜しくお願い致します。

1件の回答

回答を書く

1127871

2026-05-25 11:35

+ フォロー

1. B 列が最初に空白になる行以下はずっと空白なのであれば

Sub Sample1()
    Const ROW_END As Long = 100
    Dim lastB As Long: lastB = Cells(Rows.Count, \u0026quot;B\u0026quot;).End(xlUp).Row
    If lastB \u0026lt; ROW_END Then
        Rows(lastB + 1 \u0026amp; \u0026quot;:\u0026quot; \u0026amp; ROW_END).Delete
    End If
End Sub

2. そうでないとして、かつ E 列には空白セルが無いとすればオートフィルタを利用して(1 のケースでも適用できます)。

Sub Sample2()
    Const ROW_START As Long = 6, ROW_END As Long = 100
    Range(Cells(ROW_START - 1, \u0026quot;B\u0026quot;), Cells(ROW_END, \u0026quot;E\u0026quot;)).AutoFilter 1, \u0026quot;\u0026quot;
    Range(Cells(ROW_START, \u0026quot;B\u0026quot;), Cells(ROW_END, \u0026quot;E\u0026quot;)).SpecialCells(xlCellTypeVisible).EntireRow.Delete
    Cells(ROW_START, \u0026quot;B\u0026quot;).AutoFilter
End Sub

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有