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

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

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

使用例

行追加

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

  3. 2行目に行が挿入される

 

列追加

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

  3. 2列目に列が挿入される

 

セル追加

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

  3. 「B5~C5」セルに挿入され、No.4のデータを下にずらす

 

使用するメソッド

Insertメソッド

Rangeオブジェクト.Insert([Shift],[CopyOrigin])

解説 指定したRangeオブジェクトに応じて、行/列/セルを挿入する。
Rangeオブジェクトで行を参照した場合は行が、列を参照した場合は列が、セルを参照した場合はセルが挿入される。
引数  Shift:
セルを挿入するときに、挿入位置のセルをどの方向にずらすかを指定する。設定値は下表のとおり。
設定値 内容
xlShiftDown 下にずらす
xlShiftToRight 右にずらす

省略した場合、セルの行数が列数以下のときは下にずらし、行数が列数よりも大きいときは右にずらす。なお、行や列を挿入する場合は、ずらす方向を指定する必要はない。

CopyOrigin:
挿入したセル/行/列の書式の内容を指定する。設定値は下表のとおり。
設定値 内容
xlFormatFromLeftOrAbove 上、または左のセルから書式をコピーする
xlFormatFromRightOrBelow 下、または右のセルから書式をコピーする

省略した場合は、上または左のセルから書式をコピーする。ワークシートの1行目や1列目に行や列を挿入するときにこの引数を省略した場合は、書式の設定されていない新しい行や列が挿入される。

使用するプロパティ

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~C10」のセル範囲から、2行目に行を挿入する。書式は、下のセルからコピーする。
7 オプションボタン「列」が選択された場合、
9 「A1~C10」のセル範囲から、2列目に列を挿入する。
11 オプションボタン「セル」が選択された場合、
13 「B5~C5」セル範囲にセルを挿入し、下にずらす。

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

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

3 オプションボタン「行」が選択された場合、
5 「A1~C10」のセル範囲から、選択行に行を挿入する。書式は、下のセルからコピーする。
7 オプションボタン「列」が選択された場合、
9 「A1~C10」のセル範囲から、選択列に列を挿入する。
11 オプションボタン「セル」が選択された場合、
13 選択セルにセルを挿入し、下にずらす。

VBAコードの保存

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

 

 

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

 

 

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

 

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