Amazonで商品を見るセール会場へ

Googleスプレッドシート│大量シートを一発選択!便利メニューでシート一覧を表示して移動するスクリプト

GASで上部に「シート移動」メニューを追加し、表示中のシートを名前で選ぶ作例です。

GASはGoogleサービスを操作するスクリプトで、編集権限のあるスプレッドシートにコードを保存して使います。

移動先をシートIDで管理し、非表示シートは一覧に含めません。

現行コードを実際のGASメニューから呼び出す動作は未検証のため、まずコピーで試してください。

シート数が多いスプレッドシートで、下部の矢印スクロールや一覧から目的のシートを探す様子。

掲載画像は既存の画面例で、今回のコードを実行して撮影したものではありません。

スプレッドシートの上部に追加された専用メニューから、シート名一覧を選択して直接移動する様子。

メニュー項目を選んだ後、下部のシートタブと実際の内容が目的のシートに切り替わるか確認します。

シートの追加・削除・名前や表示状態の変更後は、画面を開き直してメニューを更新します。

目次

シート移動メニューのコードを保存する

  1. スプレッドシートの上部メニューから
     「拡張機能」>「Apps Script」を選択します。
  2. コピーしたスプレッドシートに紐付いたApps Scriptへ次のコードを保存します。

既存のonOpenがある場合は、同名関数を増やさずメニュー追加処理を統合してください。

掲載コードは既存のグローバル変数名とも重複しない練習用プロジェクトで試します。

Googleスプレッドシートの関連する操作方法は、まとめ記事でも紹介しています。

const ss = SpreadsheetApp.getActive();
const sh = ss.getSheets().filter(sheet => !sheet.isSheetHidden());
const func = (() => {
  let result = {};
  for (let i = 0; i < sh.length; i++) {
    result["_moveTo" + sh[i].getSheetId()] = function () {
      sh[i].activate();
    };
  }
  return result;
})();

function onOpen() {
  let menu = [];
  for (let i = 0; i < sh.length; i++) {
    const funcName = "func._moveTo" + sh[i].getSheetId();
    menu.push({
      name: sh[i].getSheetName(),
      functionName: funcName,
    });
  }
  ss.addMenu("シート移動", menu);
}

使い方

  1. スクリプトを保存後、スプレッドシートのブラウザ画面を再読み込み(リロード)します。
  2. 上部に「シート移動」が表示され、表示中のシート名がそろっているか確認します。
  3. 別のシート名を選び、タブ名と表示内容の両方で移動先を確かめます。

関連コードは、GitHubのMOTOKI-LLC/cg-method-codeにもあります。

版が異なる場合があるため、本記事の修正内容と照合してください。

GASでシートを操作する記事は、ほかにもあります。

スポンサーリンク

メニューが出ない・古い項目が残るとき

保存後にメニューが出ない場合は、対象スプレッドシートを開き直してください。

編集権限と、コードを保存したApps Scriptが対象ファイルに紐付いていることを確認します。

初回に権限の確認が出た場合は、必要な処理と要求権限を確認してから承認してください。

削除・非表示にした直後の古い項目を押すと、対応する関数が見つからない場合があります。

この場合も開き直して一覧を更新し、表示された項目から選び直してください。

カスタムメニューとシートIDの仕様を確認できます。

シートIDはシートの位置と独立しているため、移動先を並び順の番号で対応させない構成です。

過去のローカル模擬試験では、IDと移動先の対応を確認しています。

2026年10月25日の見直しは公式資料と本文の照合で、新たな実機試験は行っていません。

GASの実メニューからオブジェクト内の関数を呼ぶ動作、承認画面、多数シート時の使い勝手は未確認です。

コピー上でシートの順序を変え、同じメニュー項目が同じシートへ移動するかも確認してください。

練習を終えて元に戻す

追加したコードだけを外し、統合前の既存処理をコピーと照合して戻します。

その後スプレッドシートを開き直し、「シート移動」が消えて既存メニューが残ることを確かめてください。

このコードはセルの値を書き換えず、シートの非表示設定も変更しません。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

スプレッドシート・GASのおすすめ書籍

作業環境の作り方

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次