2022/05/12に更新

【GASで時短】非表示のシートを再表示する

スプレッドシート小技

非表示になっている全てのシートを再度表示させるGoogle Apps Scriptです。人に見せるときには隠して、作業時は再表示したい時などに。

こんな悩みを解決します


  • 非表示のシートがなぜか大量にあるのでとりあえず全部表示したい!けど1シートずつやるのはめんどくさい。

用意するもの


特にありません。今お使いのスプレッドシートに組み込めます。

このスクリプトで出来ること


  • 非表示になっている全てのシートを一発で再度表示することができます。

使い方


1.データの準備

10シートほどが非表示になっているスプレッドシートを用意しました。
1シートずつ手動で表示するのはまぁまぁめんどくさい数です。

2.スクリプトの実行

上のメニューにある「スクリプト実行」から「非表示のシートを全て再表示する」を実行します。

3.実行の確認

処理を実行してもよいのか聞かれます。問題がなければOKを押します。

4.結果の確認

シートが続々と表示されました。
1シートあたり0.5秒ほどかかりますので、もし100シートあると1分ぐらいかかってしまうかも。

スクリプト


/**
 * このスクリプトの説明、使い方はこちら。
 * https://myfunc.jp/items/00084/index.html
 */

function onOpen() {
  // スプレッドシートを開いたときに実行される関数

  // UIの取得
  const ui = SpreadsheetApp.getUi()

  // メニューの表示名
  const menu = ui.createMenu('スクリプト実行');

  // メニューに追加するボタン
  menu.addItem('非表示のシートを全て再表示する', 'unhide_all_sheets');

  // メニューを画面に追加する
  menu.addToUi();
}


function unhide_all_sheets() {

  // UIを取得
  const ui = SpreadsheetApp.getUi();

  // 現在開いているスプレッドシートを取得
  const ss = SpreadsheetApp.getActiveSpreadsheet();

  // 実行を確認する
  const response = ui.alert('非表示のシートをすべて表示します。\nよろしいですか?', ui.ButtonSet.OK_CANCEL);

  // キャンセルが押されたらスクリプトを終了する
  if (response == ui.Button.CANCEL) {
    return;
  }

  // スプレッドシートに存在するすべてのシートを取得
  const sheets = ss.getSheets();

  // いま表示しているアクティブなシートのIDを取得しておく
  const active_sheet_id = ss.getActiveSheet().getSheetId();

  // ループで1シートずつ処理していく
  for (let i = 0; i < sheets.length; i++) {

    // シートIDがアクティブなシートと一致した場合は再表示させる必要がないのでスキップする
    if (active_sheet_id == sheets[i].getSheetId()) {
      continue;
    } else {
      sheets[i].showSheet(); // シートを再表示する
    }
    
  }
}

関連するアプリ


【GASで効率化】複数のシートを一括生成する

スプレッドシート内の1シートを、指定した名前でコピーするGoogle Apps Scriptです。シート名が重複した場合はスキップします。

【GASで便利に】キーワードを含むセル番地を一覧表示する

検索キーワードを全シートから探して、ヒットしたセル番地をまとめて表示するGoogle Apps Scriptです。標準の検索機能ではヒットしたセルが1個ずつ分かりますが、まとめて知りたくなったので作成しました。

【GASで時短】全シートに条件付き書式をセットする

すべてのシートに条件付き書式を適用してくれるGoogle Apps Scriptです。条件付き書式は便利ですが手動で設定するのは面倒なんですよね。

【GASで時短】全シートの条件付き書式を削除する

すべてのシートのすべての条件付き書式を削除するGoogle Apps Scriptです。条件付き書式はシート単位で操作する必要があり、面倒なので作成しました。

【GASで時短】アクティブシート以外の全シートを削除する

現在開いているシート以外の全てのシートを削除するGoogle Apps Scriptです。自動的にシートを大量生成したけどやり直したいときなどに。

【GASで時短】全てのシートのデータを1シートにまとめる

スプレッドシートの全てのシートのデータを、1つのシートに集約するGoogle Apps Scriptです。各シートで列が揃っていないと使いにくいですが、思いつきで作ってみました。

【GASで時短】すべてのシートを非表示にする

いま開いているシート以外のすべてのシートを非表示にするGoogle Apps Scriptです。あまり見られたくない作業用シートがたくさんあるときにどうぞ。

【GASで時短】全シートの行・列固定を解除する

全てのシートの行固定、列固定を解除するGoogle Apps Scriptです。ニーズはあんまりなさそうですが、思いつきで作ってみました。

【GASで時短】すべてのシートを保護する

スプレッドシートの全てのシートを「保護」するGoogle Apps Scriptです。一時的にすべてのシートの更新を止めたい時などにどうぞ。

【GASで時短】全シートの目次を作る

スプレッドシートに存在する全シートの目次(リンク付き)を生成するGoogle Apps Scriptです。シートが増えすぎて移動が大変なときにどうぞ。

【GASで時短】セルの編集内容をすべてのシートに反映させる

シートに対する変更内容(値の変更)を、同じファイルのすべてのシートに反映(同期)させるGoogle Apps Scriptです。

【GASで整頓】アクティブなシートを先頭・最後に移動する

今開いているシートを先頭(一番左)や、最後(一番右)に移動するGoogle Apps Scriptです。シートが増えすぎてドラッグが大変なときにどうぞ。

タグ一覧

最新のアプリ

人気のアプリ

ページトップに戻る
myfunc.jp