【EXCEL VBA】指定したセル範囲の行/列/セルを削除する方法

訪問して頂きありがとうございます。まさふくろーです。

この記事では使用例を使って、指定したセル範囲の行/列/セルを削除する方法をご紹介します。

使用例

行削除

  1. オプションボタン「行」を選択
  2. 「削除」ボタンをクリック

  3. 2行目が削除される

 

列削除

  1. オプションボタン「列」を選択
  2. 「削除」ボタンをクリック

  3. 3列目が削除される

 

セル削除

  1. オプションボタン「セル」を選択
  2. 「削除」ボタンをクリック

  3. 「B5~C5」セルが削除され、No.5のデータを上にずらす

 

使用するメソッド

Deleteメソッド

Rangeオブジェクト.Delete([Shift])

解説  指定したRangeオブジェクトに応じて、行/列/セルを削除する。
Rangeオブジェクトで行を参照した場合は行が、列を参照した場合は列が、セルを参照した場合はセルが削除される。
引数 Shift:
セルを削除するときに、削除位置のセルを埋めるために隣接するセルをどの方向にずらすかを指定する。設定値は下表のとおり。
設定値 内容
xlShiftUp 上にずらす
xlShiftToLeft 左にずらす
省略した場合は、Rangeオブジェクトで指定したセルの行数と列数の関係に応じて、ずれる方向が自動的に決められる(セルの行数が列数以下のときは上にずらす、行数が列数より大きいときは左にずらす)。

使用するプロパティ

Rowsプロパティ

オブジェクト.Rows(RowIndex)

解説 引数RowIndexで指定した行を参照するためのRangeオブジェクトを取得する。
オブジェクトには、Worksheetオブジェクト、Rangeオブジェクトを指定する。オブジェクトを省略すると、アクティブシート(一番手前のシート)の行を参照する。
参照するセル
Rows 全行
Rows(2) 2行目
Rows(“2:4”) 2~4行目
Range(“A3:D8”).Rows(2) 「A3~D8」セルの2行目

Columnsプロパティ

オブジェクト.Columns(ColumnIndex)

解説 引数ColumnIndexで指定した列を参照するためのRangeオブジェクトを取得する。
オブジェクトには、Worksheetオブジェクト、Rangeオブジェクトを指定する。オブジェクトを省略すると、アクティブシート(一番手前のシート)の列を参照する。
参照するセル
Columns 全列
Columns(2) B列(ワークシートの2列目)
Columns(“B:C”) B列~C列
Range(“A3:D8”).Columns(2) 「A3~D8」セルの2列目
Worksheets(“Sheet2”).Range(“A3:D8”).Columns ワークシート「Sheet2」の「A3~D8」セルの全列

ActiveCellプロパティ

Applicationオブジェクト.ActiveCell

解説 アクティブセルを参照するRangeオブジェクトを取得する。Applicationオブジェクトは省略できる。

オプションボタンの作成

「開発」タブの確認

リボンに「開発」タブが表示されているかの確認をします。

 

 

「開発」タブが表示されていない場合は、「開発タブの表示」をご覧ください。

オプションボタンの作成

①「開発」タブをクリック⇒②「挿入」をクリック⇒③ActiveX コントールにある「オプションボタン」をクリックします。

 

シート上にカーソルを移動し、ポインターを「+」の状態にします。

 

左クリックを押したまま、緑の矢印の方向にズルズルっとカーソルを移動します。

 

右クリックでショートカットメニューを表示し、「プロパティ」を選択します。

 

プロパティウィンドにて、以下項目を設定します。

 

項目 設定値 説明
Caption オプションボタンに表示する文字

同じ要領で、「列」「セル」のオプションボタンを作成します。

 

デザインモードの解除

①「開発」タブをクリック⇒②「デザインモード」をクリックし、デザインモードを解除します。

 

デザインモードとは

 

オプションボタンなどのコントールを編集可能にするモードです。

 

デザインモードONの場合は、コントロールの位置をずらしたり、プロパティを設定したりできます。

 

 

デザインモードOFFの場合は、コントロールの位置をずらしたりなどの編集ができなくなります。

 

ボタンの作成

「開発」タブの確認

リボンに「開発」タブが表示されているかの確認をします。

 

 

「開発」タブが表示されていない場合は、「開発タブの表示」をご覧ください。

ボタンの作成

①「開発」タブをクリック⇒②「挿入」をクリック⇒③「ボタン」をクリックします。

 

シート上にカーソルを移動し、ポインターを「+」の状態にします。

 

左クリックを押したまま、緑の矢印の方向にズルズルっとカーソルを移動します。

 

「マクロの登録」画面が表示されます。

 

①「マクロ名」を変更⇒②「新規作成」ボタンをクリックします。

 

ボタンの名前を変更する

エクセルのブックに戻り、ボタンの上にフォーカスを当てます。すると、ポインターが「」マークに切り替わります。

 

右クリックでショートカットメニューを表示し、「テキストの編集」を選択します。

 

ボタンの名前を変更します。

 

サンプルプログラム

VBAコードの入力

VBE(Visual Basic Editor)のピンク枠の部分に、VBAコードを入力していきます。

3 オプションボタン「行」が選択された場合、
5 「A1~C6」のセル範囲から、2行目を削除する。
7 オプションボタン「列」が選択された場合、
9 「A1~C6」のセル範囲から、3列目を削除する。
11 オプションボタン「セル」が選択された場合、
13 「B5~C5」セル範囲を削除し、上にずらす。

サンプルプログラム(選択セルに対して処理を行う)

選択したセルに対して処理を行うと、上記サンプルプログラムよりも柔軟に対応することができます。

3 オプションボタン「行」が選択された場合、
5 「A1~C6」のセル範囲から、選択行を削除する。
7 オプションボタン「列」が選択された場合、
9 「A1~C6」のセル範囲から、選択列を削除する。
11 オプションボタン「セル」が選択された場合、
13 選択セルを削除し、上にずらす。

VBAコードの保存

「ファイル」タブをクリックします。

 

 

「名前を付けて保存」を選択し、ファイル保存画面を起動します。

 

 

①ファイル名を入力⇒②「Excel マクロ有効ブック(*.xlsm)」を選択⇒③「保存」ボタンをクリックします。

 

最後まで読んでいただき、ありがとうございました!