プログラムを入力する
Option Explicit
Private Sub CommandButton1_Click()
Dim lastcell As Range
'使われた最後のセルを取得
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Select
'空白セルを選択
Selection.SpecialCells(xlCellTypeBlanks).Select
'空白セルを削除
Selection.Delete
End Sub
プログラム説明
SpecialCellsを使用します。
SpecialCellsを使うと、指定された条件を満たしているすべてのセルを取得できます。
・SpecialCells(xlCellTypeBlanks) - 空白のセル
・SpecialCells(xlCellTypeConstants) - 定数のあるセル
・SpecialCells(xlCellTypeFormulas) - 数式が含まれるセル
・SpecialCells(xlCellTypeLastCell) - 使用されている最後のセル
・SpecialCells(xlCellTypeVisible) - 全ての可視セル
・SpecialCells(xlCellTypeNotes) - コメントが含まれるセル
プログラムの流れ
1)使用された最後のセルを取得します。
2)空白セルを選択します。
3)選択されている空白セルを削除します。
実行結果
実行前の画面です。
データ1、データ2の空白セルを削除します。
「空白セルの削除」ボタンをクリックすると、上方向に空白が削除されデータが詰められます。
Selection.Delete 部分を Selection.Delete shift:=xlToLeft のように方向指定すると、左方向にに空白が削除されデータが詰められます。