シートの行もしくは列を固定するGoogle Apps Scriptです。ブック内のすべてのシートに対して動作します。
特にありません。今お使いのスプレッドシートに組み込めます。
さっそくスクリプトを実行してみます。
まずは行を固定します。
上のメニューにある「スクリプト実行」から「全シートの行を固定する」を実行します。
プロンプトが表示されますので、何行目まで固定するかを指定します。
5行目までを指定してみます。
固定されました!
続いて列の固定も試してみましょう。
上のメニューにある「スクリプト実行」から「全シートの列を固定する」を実行します。
プロンプトに固定したい列数を入力します。
列も固定されました!
スクショではわかりませんが、他のシートも固定されています。
すべてのシートで固定を解除したい場合は、こちらのスクリプトをどうぞ。
【GASで時短】全シートの行・列固定を解除する
/**
* このスクリプトの説明、使い方はこちら。
* https://myfunc.jp/items/00155/index.html
*/
function onOpen() {
// スプレッドシートを開いたときに実行される関数
// UIの取得
const ui = SpreadsheetApp.getUi()
// メニューの表示名
const menu = ui.createMenu('スクリプト実行');
// メニューに追加するボタン
menu.addItem('全シートの行を固定する', 'frozen_sheet_row');
menu.addItem('全シートの列を固定する', 'frozen_sheet_col');
// メニューを画面に追加する
menu.addToUi();
}
function frozen_sheet_row() {
// menu.addItemで呼び出す関数には引数が与えられないため、引数をつけるためだけの関数
// 関数呼び出し(行の固定)
frozen_sheet('row');
}
function frozen_sheet_col() {
// menu.addItemで呼び出す関数には引数が与えられないため、引数をつけるためだけの関数
// 関数呼び出し(列の固定)
frozen_sheet('col');
}
function frozen_sheet(direction) {
// 行・列どちらかを固定する関数
// 開いているスプレッドシートオブジェクトを取得
const ss = SpreadsheetApp.getActiveSpreadsheet();
// スプレッドシート内の全シートを取得
const sheets = ss.getSheets();
// 引数に応じてプロンプトに表示するメッセージを変えたいため、keyに引数を指定してテキストを格納
const message = {};
message['row'] = '何行目まで固定しますか?';
message['col'] = '何列目まで固定しますか?';
// プロンプトを表示するためのUIオブジェクトを取得
const ui = SpreadsheetApp.getUi();
// プロンプトを表示し、何行目or何列目まで固定するか整数を入れてもらう
const response = ui.prompt(message[direction], ui.ButtonSet.OK_CANCEL);
// キャンセルボタンが押されたときは何もせず終了する
if (response.getSelectedButton() == ui.Button.CANCEL) {
return;
}
// シートの数だけループ
for (let i = 0; i < sheets.length; i++) {
if (direction == 'row') {
// 引数がrowのときは行方向の固定を行う。
sheets[i].setFrozenRows(response.getResponseText());
} else if (direction == 'col') {
// 引数がcolのときは列方向の固定を行う。
sheets[i].setFrozenColumns(response.getResponseText());
}
}
}
すべてのシートに条件付き書式を適用してくれるGoogle Apps Scriptです。条件付き書式は便利ですが手動で設定するのは面倒なんですよね。
すべてのシートのすべての条件付き書式を削除するGoogle Apps Scriptです。条件付き書式はシート単位で操作する必要があり、面倒なので作成しました。
現在開いているシート以外の全てのシートを削除するGoogle Apps Scriptです。自動的にシートを大量生成したけどやり直したいときなどに。
スプレッドシートの全てのシートのデータを、1つのシートに集約するGoogle Apps Scriptです。各シートで列が揃っていないと使いにくいですが、思いつきで作ってみました。
いま開いているシート以外のすべてのシートを非表示にするGoogle Apps Scriptです。あまり見られたくない作業用シートがたくさんあるときにどうぞ。
全てのシートの行固定、列固定を解除するGoogle Apps Scriptです。ニーズはあんまりなさそうですが、思いつきで作ってみました。