見出し画像

【かんたん】特定のスプレッドシートだけ残してその他のシートを全て削除するやり方

飛ばして大丈夫な前説

便利なスプレッドシートですが、EXCELと違ってシートを複数選択できないため、複数シートをいっきに削除する際に一つずつ削除する必要があったりなど痒いところに手が届かないことがあります。

たとえば、特定のシートだけ残して、その他のシートを削除したい場合であっても、新規スプレッドシートを立ち上げて残したいシートだけそちらにお引越し~、なんてことができればいいのですが、スプレッドシートのURLを誰かと共有していたり、連携していたりすると、そちらも修正する必要があったりお引越しできない場合があったりします。

では本題
今回は、特定のシート以外を一発で全削除するやり方を紹介します。


できあがりイメージ

まずは出来上がりのイメージをお伝えします。
今回はシート名「シート4」以外のシートを全削除します。一度やり方を覚えてしまえば1分で完了します。

画像1


やり方

全体像。
1. スクリプトエディタを開く
2. スクリプトをコピペし1箇所だけ書き換える。
3. スクリプトを保存して実行
 → 完了

以下、順に見ていきます。



1. スクリプトエディタを開く

画像2

まずスプレッドシートの ツール > スクリプトエディタ を開きます。


画像3

スクリプトエディタを開くと画像のようになると思います。これが初期状態です。



2. スクリプトをコピペし1箇所だけ書き換える。

画像4

次に初期状態のスクリプトを一度全削除し、下記のスクリプトを上書きして貼り付けます。ここまではコピペで大丈夫です。
実行ボタンを押すまでスクリプトは実行されませんので安心してください。

function myFunction() {
 var activeSheets = SpreadsheetApp.getActiveSpreadsheet();
 var sheets = SpreadsheetApp.getActive().getSheets();
 sheets.forEach(s => {
   if (s.getSheetName() == '〇〇〇〇') {return;}
   activeSheets.deleteSheet(s);
 });
}

上記のスクリプトを上書きして貼り付けたあと、次に一箇所だけ書き換えます。
貼り付けたスクリプト中程に「〇〇〇〇」と書かれている箇所があると思います。そこに 残したいシート名 を記入します。


例えばシート名「シート4」を残したい場合は以下のように書きます。

function myFunction() {
 var activeSheets = SpreadsheetApp.getActiveSpreadsheet();
 var sheets = SpreadsheetApp.getActive().getSheets();
 sheets.forEach(s => {
   if (s.getSheetName() == 'シート4') {return;}
   activeSheets.deleteSheet(s);
 });
}

ちなみに、残すシートを複数枚指定したい場合は下記のようになり、何枚でも指定できます。

function myFunction() {
 var activeSheets = SpreadsheetApp.getActiveSpreadsheet();
 var sheets = SpreadsheetApp.getActive().getSheets();
 sheets.forEach(s => {
   if (s.getSheetName() == 'シート4' || s.getSheetName() == 'シート5') {return;}
   activeSheets.deleteSheet(s);
 });
}



3. スクリプトを保存して実行

画像5

最後に、保存と実行を押します。実行前にシート名を最終確認ください。
①保存ボタン、 ②実行ボタン となっています。

もし、スプレッドシートから実行許可を求められたら確認し、OKを押してください。


もし、万が一実行後に誤って消してはいけないシートを消してしまった場合は、編集履歴から復元してください。




できあがりを確認

画像6

スプレッドシートに戻ると指定したシート以外のシートが全て削除されていることが確認できると思います。

説明は以上となります。お疲れ様です。


もし、この投稿がお役に立つことができれば嬉しい限りです。
いいねボタン、チャンネル登録よろしくな。



タグ
javascript gas spreadsheet spread sheet spread sheets spread sheets google drive スプレッドシート ノート 削除 スクリプト script シート名 除外 特定の 削除 例 サンプルプログラム js 実行方法 削除方法 やり方 実行の仕方 GAS 全削除

この記事が気に入ったらサポートをしてみませんか?