訪問して頂きありがとうございます。まさふくろーです。
この記事では使用例を使って、指定したセル範囲の行/列/セルを追加する方法をご紹介します。
目次
使用例
行追加
「追加」ボタンをクリック
列追加
「追加」ボタンをクリック
セル追加
「追加」ボタンをクリック
使用するメソッド
Insertメソッド
Rangeオブジェクト.Insert([Shift],[CopyOrigin])
解説 | 指定したRangeオブジェクトに応じて、行/列/セルを挿入する。 | ||||||
Rangeオブジェクトで行を参照した場合は行が、列を参照した場合は列が、セルを参照した場合はセルが挿入される。 | |||||||
引数 | Shift: セルを挿入するときに、挿入位置のセルをどの方向にずらすかを指定する。設定値は下表のとおり。
省略した場合、セルの行数が列数以下のときは下にずらし、行数が列数よりも大きいときは右にずらす。なお、行や列を挿入する場合は、ずらす方向を指定する必要はない。 |
||||||
CopyOrigin: 挿入したセル/行/列の書式の内容を指定する。設定値は下表のとおり。
省略した場合は、上または左のセルから書式をコピーする。ワークシートの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コードを入力していきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Sub 追加ボタン_Click() If Sheets("Sheet1").OptionButton1.Value = True Then Range("A1:C10").Rows(2).Insert , xlFormatFromRightOrBelow ElseIf Sheets("Sheet1").OptionButton2.Value = True Then Range("A1:C10").Columns(2).Insert ElseIf Sheets("Sheet1").OptionButton3.Value = True Then Range("B5:C5").Insert xlShiftDown End If End Sub |
3 | オプションボタン「行」が選択された場合、 |
5 | 「A1~C10」のセル範囲から、2行目に行を挿入する。書式は、下のセルからコピーする。 |
7 | オプションボタン「列」が選択された場合、 |
9 | 「A1~C10」のセル範囲から、2列目に列を挿入する。 |
11 | オプションボタン「セル」が選択された場合、 |
13 | 「B5~C5」セル範囲にセルを挿入し、下にずらす。 |
サンプルプログラム(選択セルに対して処理を行う)
選択したセルに対して処理を行うと、上記サンプルプログラムよりも柔軟に対応することができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Sub 追加ボタン_Click() If Sheets("Sheet1").OptionButton1.Value = True Then Range("A1:C10").Rows(ActiveCell.Row).Insert , xlFormatFromRightOrBelow ElseIf Sheets("Sheet1").OptionButton2.Value = True Then Range("A1:C10").Columns(ActiveCell.Column).Insert ElseIf Sheets("Sheet1").OptionButton3.Value = True Then ActiveCell.Insert xlShiftDown End If End Sub |
3 | オプションボタン「行」が選択された場合、 |
5 | 「A1~C10」のセル範囲から、選択行に行を挿入する。書式は、下のセルからコピーする。 |
7 | オプションボタン「列」が選択された場合、 |
9 | 「A1~C10」のセル範囲から、選択列に列を挿入する。 |
11 | オプションボタン「セル」が選択された場合、 |
13 | 選択セルにセルを挿入し、下にずらす。 |
VBAコードの保存
「ファイル」タブをクリックします。
「名前を付けて保存」を選択し、ファイル保存画面を起動します。
①ファイル名を入力⇒②「Excel マクロ有効ブック(*.xlsm)」を選択⇒③「保存」ボタンをクリックします。
最後まで読んでいただき、ありがとうございました!