VBA~指定した範囲の空白セルを一括で削除しよう~Excel
VBAで範囲の空白セルを一括で消去したい時はRange.SpecialCellsメソッドで空白セルの定数xlCellTypeBlanksを指定し、Range.Deleteメソッドで消去します。上方向にシフトしたい場合は定数xlupを指定します。
下のコードを実行するとセルA1からセルD6の範囲の空白セルが消去され上方向にシフトします。
Sub test1() Range("A1:D6").SpecialCells(xlCellTypeBlanks).Delete xlUp End Sub
指定したシートの空白セルを消去
シートを指定するときはWorksheets("シート名")で指定できます。
下のコードを実行するとSheet2のセルA1からセルD6の範囲の空白セルが消去され上方向にシフトします。
Sub test2() Worksheets("Sheet2").Range("A1:D6").SpecialCells(xlCellTypeBlanks).Delete xlUp End Sub
ブックを指定して空白セルを消去
ブックを指定するときはWorkbooks("ブック名")で指定できます。
Book1.xlsxというブックが開いた状態で下のコードを実行するとBook1.xlsxのSheet1のセルA1からセルD6の範囲の空白セルが消去され上方向にシフトします。
Sub test3() Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1:D6").SpecialCells(xlCellTypeBlanks).Delete xlUp End Sub