GASでアクティブシートを操作しよう!取得・指定・移動・変更の基本まとめ
うっ… GAS で操作してるシート、今どれが「アクティブ」かわかんないよぉ…!

猫男

catman
ふふふ、catmanがスプレッドシートの世界もナビゲートしよう!
GASでいう「アクティブシート」とは?
Google Apps Script(GAS)における「アクティブシート」とは、今操作の対象になっているスプレッドシートファイルのシートのタブのこと。
エクセルやスプレッドシートで今表示されているシートってありますよね?あれです。
なるほど、今フォーカスが当たってるシートってことか!

猫男
そうです。
このシチュエーションなら、
シート2
がアクティブシートです。
GASのアクティブシートの取得方法
今のアクティブシートを取得するには、次のコードを使います。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
Logger.log(sheet.getName());
これで、今操作中のシート名をログ出力できるはずです。
GASのアクティブシートの指定・変更方法
特定の名前のシートをアクティブにしたい場合は、こう書きます。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("売上");
sheet.activate();
「売上」という名前のシートをアクティブに(= 表示状態に)切り替えられますよ。
おぉ、別のシートに「移動」できた!

猫男
GASのアクティブシートの移動(別のシートへ切り替え)
複数のシートをループして、条件に合うシートをアクティブにするなんてこともできます!
const sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
for (const s of sheets) {
if (s.getName().includes("2024")) {
s.activate();
break;
}
}
「2024」という名前を含むシートに、自動で切り替えてますね。
まとめ:GASでのアクティブシート操作は超重要!
- getActiveSheet():現在のアクティブシートを取得
- getSheetByName()+activate():任意のシートに変更
- ループや条件分岐で柔軟な移動も可能
これでスプレッドシートの操作も思いのままだね!

猫男

catman
ふっ…これが「アクティブシート術」さ。またひとつ成長したな…