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

2023年3月22日

English version.

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);

Office スクリプトを効果的に習得したい方へ

当サイトの情報を電子書籍用に読み易く整理したコンテンツを

買い切り700円またはKindle Unlimited (読み放題) で提供中です。

体系的に学びたい方は是非ご検討ください。

アップデートなどの更新事項があれば随時反映しています。

なお購入後に最新版をダウンロードするには

Amazonへの問い合わせが必要です。

関連記事

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

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

マクロ・VBA(オフライン版)の場合