2022/05/03に更新

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

スプレッドシート小技

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

こんな悩みを解決します


  • どのシートも行が固定されていて、気に入らないので全部削除してやる・・・!

用意するもの


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

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


  • 全てのシートの「固定された行」と「固定された列」を解除します。
  • 解除するまえに確認画面が表示されるため、誤って実行することを防げます。

使い方


1.スクリプトの実行

サンプルとして5行と2列を固定したシートを作成しました。

上のメニューにある「スクリプト実行」から「全シートの固定された行・列を解除する」を実行します。

2.実行の確認

「全てのシートの固定された行・列を解除します。よろしいですか?」というメッセージが表示されます。
実行してもよければ「OK」を押します。キャンセルを押した場合はスクリプトの実行が終了します。

3.実行結果の確認

しばらく待つとシートの固定設定が解除されるはずです。

本記事とは逆に、すべてのシートで行や列を固定したい場合はこちらのスクリプトをどうぞ。
【GASで時短】すべてのシートで行、列を固定する

スクリプト


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

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

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

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

  // メニューに追加するボタン
  menu.addItem('全シートの固定された行・列を解除する', 'unset_all_frozen');

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


function unset_all_frozen() {

  // アクティブなスプレッドシートを開く
  const ss = SpreadsheetApp.getActiveSpreadsheet();

  // すべてのシートを取得する
  const sheets = ss.getSheets();

  // 確認メッセージを表示するため、UIを取得
  const ui = SpreadsheetApp.getUi();

  // 実行してもよいか確認メッセージを表示する
  const response = ui.alert('全てのシートの固定された行・列を解除します。\nよろしいですか?', ui.ButtonSet.OK_CANCEL);

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

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

    // 行方向の固定を0(解除)にする
    sheets[i].setFrozenRows(0);

    // 列方向の固定を0(解除)にする
    sheets[i].setFrozenColumns(0);
  }
}

関連するアプリ


【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で時短】指定した列のすべての組み合わせを生成する

2つの列を指定し、すべての組み合わせを出力してくれるGoogle Apps Scriptです。列はプロンプトで指定するので繰り返せば何列でも組み合わせることができます。

タグ一覧

最新のアプリ

人気のアプリ

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