OfficeType

VBA~指定した範囲の空白セルを一括で削除しよう~Excel

VBAで範囲の空白セルを一括で消去したい時はRange.SpecialCellsメソッドで空白セルの定数xlCellTypeBlanksを指定し、Range.Deleteメソッドで消去します。上方向にシフトしたい場合は定数xlupを指定します。

下のコードを実行するとセルA1からセルD6の範囲の空白セルが消去され上方向にシフトします。

Sub test1()

Range("A1:D6").SpecialCells(xlCellTypeBlanks).Delete xlUp

End Sub

image-01

image-02

指定したシートの空白セルを消去

シートを指定するときはWorksheets("シート名")で指定できます。

下のコードを実行するとSheet2のセルA1からセルD6の範囲の空白セルが消去され上方向にシフトします。

Sub test2()

Worksheets("Sheet2").Range("A1:D6").SpecialCells(xlCellTypeBlanks).Delete xlUp

End Sub

image-03

image-04

ブックを指定して空白セルを消去

ブックを指定するときはWorkbooks("ブック名")で指定できます。

Book1.xlsxというブックが開いた状態で下のコードを実行するとBook1.xlsxのSheet1のセルA1からセルD6の範囲の空白セルが消去され上方向にシフトします。

Sub test3()

Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1:D6").SpecialCells(xlCellTypeBlanks).Delete xlUp

End Sub