Excel Office スクリプト セル(行・列)の挿入

2021年6月26日

Office スクリプトにおけるセル(行・列)の挿入方法を紹介します。

使い方

スクリプトの記録を使うとアクティブシートを対象にしますが、

起動する場所によって挙動が変わってしまうため、

シート名を指定しての操作を推奨します。(赤字は可変部分)

セル範囲.insert(挿入後のシフト方向);

挿入後のシフト(移動)方向指定

次のどちらかを指定します。最後のdownかrightかの違いです。

削除後の移動方向指定
ExcelScript.InsertShiftDirection.down
ExcelScript.InsertShiftDirection.right

セル挿入

セルアドレスで指定

TestシートのA1セルに挿入するには次のようにします。

getRangeメソッドでセルアドレスを指定します。

// A1セルに挿入して上に移動
workbook.getWorksheet("Test").getRange("A1").insert(ExcelScript.InsertShiftDirection.down);

// A1セルに挿入して右に移動
workbook.getWorksheet("Test").getRange("A1").insert(ExcelScript.InsertShiftDirection.right);
コード例

インデックス(0から始まる連番)で指定

TestシートのA1セルに挿入するには次のようにします。

getCellメソッドでインデックス指定します。1列目(A列)、1行目ともに0です。

A1セルはgetCell(0,0)になります。

// A1セルに挿入して下に移動
workbook.getWorksheet("Test").getCell(0,0).getCell(0, 0).insert(ExcelScript.InsertShiftDirection.down);

// A1セルに挿入して右に移動
workbook.getWorksheet("Test").getCell(0,0).insert(ExcelScript.InsertShiftDirection.right);
コード例

行指定

Testシートの1行目に挿入するには次のようにします。

workbook.getWorksheet("Test").getRange("1:1").insert(ExcelScript.InsertShiftDirection.down);
コード例

列指定

Testシートの1列目(A列)に挿入するには次のようにします。

workbook.getWorksheet("Test").getRange("A:A").insert(ExcelScript.InsertShiftDirection.right);
コード例

次の記事

セルのコピー/ペースト

関連記事

Excel Office スクリプトの記事一覧

Excel 行・列を挿入・削除する方法