VBA 指定した範囲のセルを削除する方法
VBA
で指定した範囲のセルを削除する方法を紹介します。
以下の例では、指定した範囲のセルを削除し、セルは左に詰めています。
Range(Cells(1, 1), Cells(3, 3)).Delete Shift:=xlShiftToLeft
VBA 指定した範囲のセルを結合・結合解除する方法で紹介した方法と同じように、Range(始点のセル, 終点のセル)
の形式で範囲を指定します。
Shift
のオプションでセルを詰める方法を指定できます。
- xlShiftToLeft
- 左詰め(削除した部分を保管するように、右側の列が左にシフトします)
- xlShiftUp
- 上詰め(削除した部分を保管するように、下側の行が上にシフトします)
例えばセルを上に詰める場合は以下のようにします。
Range(Cells(1, 1), Cells(3, 3)).Delete Shift:=xlShiftUp
シートを指定する
上記の例ではシート名を指定していないため、現在のアクティブシートのセルが対象になります。
シート名を明示的に指定するには以下のようにします。
(シートの取得方法はVBA シート名でシートオブジェクトを取得する方法で紹介しています。)
Dim ws As Excel.Worksheet
Set ws = Worksheets("sheet1")
ws.Rows(1).Copy
ws.Rows(1).Delete
ws.Range(ws.Cells(1, 1), ws.Cells(3, 3)).Delete Shift:=xlShiftUp
- VBA システム日付と時刻をフォーマットして表示する
VBAでシステム日付と時刻をフォーマットして表示する方法を紹介します。以下の例では、例えばシステム日付が2019年01月23日4時56分01秒の場合は2019/01/23 04:56:01が設定されま...
- VBA シート名でシートオブジェクトを取得する方法
VBAでシート名でシートオブジェクトを取得する方法を紹介します。以下の例ではsheet1という名称のシートをwsという変数に設定しています。取得したシートをアクティブシートに設定するには、取得したシー...
- VBA シートをコピーして複製する方法
VBAでシートをコピーして複製する方法を紹介します。まずはコピーしたいシートを取得します。(シートの取得方法はVBA シート名でシートオブジェクトを取得する方法で紹介しています。)以下のコマンドで、シ...
- VBA 指定した範囲のセルを結合・結合解除する方法
VBAで指定した範囲のセルを結合または結合解除する方法を紹介します。VBA 指定した範囲に配列の値をセットする方法で紹介した方法と同じように、Range(始点のセル, 終点のセル)の形式で範囲を指定し...
- VBA 指定した範囲に配列の値をセットする方法
VBAで指定した範囲に配列の値をセットする方法を紹介します。Range(始点のセル, 終点のセル)の形式で範囲を指定します。範囲内のセルの数を配列の要素数と合わせています。また、配列は1次配列のため、...
- VBA 書式のみをコピーして貼り付ける方法
VBAで書式のみをコピーして貼り付ける方法を紹介します。まずは指定した範囲に対してCopyを実行します。コピーの手順はVBA 指定した範囲をコピーして別の場所に貼り付ける方法で紹介した方法と同じです。...
- VBA 複数の行を選択して操作を行う方法
VBAで複数の行を選択して、コピーや削除などの操作を行う方法を紹介します。わかりやすくするために、まずは1行のみ選択する方法を確認します。以下の例では1行目を選択しています。複数行の場合は「範囲指定」...
- VBA 指定した範囲をコピーして別の場所に貼り付ける方法
VBAで指定した範囲をコピーして別の場所に貼り付ける方法を紹介します。まずは指定した範囲に対してCopyを実行します。VBA 指定した範囲のセルを結合・結合解除する方法で紹介した方法と同じように、Ra...
- VBA セルの内容に合わせて列幅を設定する方法
VBAでセルの内容に合わせて列幅を自動で設定する方法を紹介します。以下のように、自動調整したい列に対してAutoFitを実行します。自動で列幅を設定すれば、セルの内容が途中で折り返されたり切れたりとい...
- VBA セルに値を設定する方法
VBAでセルに値を設定する方法を紹介します。(値ではなく数式を設定する方法VBA セルに数式を設定する方法で紹介しています)以下の例では、アクティブシートのセルC1(1行目のC列目(3列目))にsam...