前提
ここではフィルタは使用せずに、表の空白行を削除する方法を記載する。
サンプルプログラム概要
以下のような表に対し、
例えば「B列(ID列)が空白」であった場合、当該行を削除し以下のようにする。
サンプルプログラム
ここでは「B列(ID列)が空白の行」であった場合、当該行を削除するプログラムを記載する。
'変数の宣言を必須
Option Explicit
Sub sample()
'シート名
Const SHEET_NAME As String = "サンプル"
'表の一番左上のセル
Const START_RENGE_STR As String = "B2"
'空白かどうかを確認する列 ※ここではB列(=2)を指定
Const TARGET_COLUMN As Integer = 2
Dim ws As Worksheet
Dim startRange As Range
Dim startRow As Double
Dim endRow As Double
Set ws = Worksheets(SHEET_NAME)
'表の一番左上のRANGEオブジェクトを取得
Set startRange = ws.Range(START_RENGE_STR)
'表の開始行を取得
startRow = startRange.Row
'表の最終行を取得
With startRange.CurrentRegion
endRow = .Item(.Count).Row
End With
'当該列のセルが空白の場合、行を削除
Range(ws.Cells(startRow, TARGET_COLUMN), _
ws.Cells(endRow, TARGET_COLUMN)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
結果
「B列(ID列)が空白の行」のみ削除された。