GASで上部に「シート移動」メニューを追加し、表示中のシートを名前で選ぶ作例です。
GASはGoogleサービスを操作するスクリプトで、編集権限のあるスプレッドシートにコードを保存して使います。
移動先をシートIDで管理し、非表示シートは一覧に含めません。
現行コードを実際のGASメニューから呼び出す動作は未検証のため、まずコピーで試してください。

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

メニュー項目を選んだ後、下部のシートタブと実際の内容が目的のシートに切り替わるか確認します。
シート移動メニューのコードを保存する
- スプレッドシートの上部メニューから
「拡張機能」>「Apps Script」を選択します。 - コピーしたスプレッドシートに紐付いた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);
}使い方
- スクリプトを保存後、スプレッドシートのブラウザ画面を再読み込み(リロード)します。
- 上部に「シート移動」が表示され、表示中のシート名がそろっているか確認します。
- 別のシート名を選び、タブ名と表示内容の両方で移動先を確かめます。
関連コードは、GitHubのMOTOKI-LLC/cg-method-codeにもあります。
版が異なる場合があるため、本記事の修正内容と照合してください。
GASでシートを操作する記事は、ほかにもあります。




メニューが出ない・古い項目が残るとき
保存後にメニューが出ない場合は、対象スプレッドシートを開き直してください。
編集権限と、コードを保存したApps Scriptが対象ファイルに紐付いていることを確認します。
初回に権限の確認が出た場合は、必要な処理と要求権限を確認してから承認してください。
削除・非表示にした直後の古い項目を押すと、対応する関数が見つからない場合があります。
この場合も開き直して一覧を更新し、表示された項目から選び直してください。
シートIDはシートの位置と独立しているため、移動先を並び順の番号で対応させない構成です。
過去のローカル模擬試験では、IDと移動先の対応を確認しています。
2026年10月25日の見直しは公式資料と本文の照合で、新たな実機試験は行っていません。
GASの実メニューからオブジェクト内の関数を呼ぶ動作、承認画面、多数シート時の使い勝手は未確認です。
コピー上でシートの順序を変え、同じメニュー項目が同じシートへ移動するかも確認してください。
練習を終えて元に戻す
追加したコードだけを外し、統合前の既存処理をコピーと照合して戻します。
その後スプレッドシートを開き直し、「シート移動」が消えて既存メニューが残ることを確かめてください。
このコードはセルの値を書き換えず、シートの非表示設定も変更しません。
