Excel Office スクリプト セル(行・列)の削除

2021年6月26日

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

使い方

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

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

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

セル範囲.delete(削除後のシフト方向);

削除後のシフト(移動)方向指定

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

削除後の移動方向指定
ExcelScript.DeleteShiftDirection.up
ExcelScript.DeleteShiftDirection.left

セル削除

セルアドレスで指定

TestシートのA1セルを削除するには次のようにします。

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

// A1セルを削除して上に移動
workbook.getWorksheet("Test").getRange("A1").delete(ExcelScript.DeleteShiftDirection.up);

// A1セルを削除して左に移動
workbook.getWorksheet("Test").getRange("A1").delete(ExcelScript.DeleteShiftDirection.left);
コード例

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

TestシートのA1セルを削除するには次のようにします。

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

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

// A1セルを削除して上に移動
workbook.getWorksheet("Test").getCell(0,0).delete(ExcelScript.DeleteShiftDirection.up);

// A1セルを削除して左に移動
workbook.getWorksheet("Test").getCell(0,0).delete(ExcelScript.DeleteShiftDirection.left);

行指定

Testシートの1行目を削除するには次のようにします。

workbook.getWorksheet("Test").getRange("1:1").delete(ExcelScript.DeleteShiftDirection.up);

列指定

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

workbook.getWorksheet("Test").getRange("A:A").delete(ExcelScript.DeleteShiftDirection.left);

次の記事

セル(行・列)のクリア

関連記事

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

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