GASでスプレッドシートで指定した行を固定するには「setFrozenRows(rows)
」を利用する。
setFrozenRows(rows)
指定された行数をフリーズします。ゼロの場合、行はフリーズされません。
https://developers.google.com/apps-script/reference/spreadsheet/sheet?hl=en#setfrozenrowsrows
関連記事:【GAS】スプレッドシートで閉じた行グループを開く
setFrozenRows(rows)の戻り値
Sheet—このシート、連鎖用。
setFrozenRows(rows)のパラメーター
名前 | タイプ | 説明 |
---|---|---|
rows | Integer | フリーズする行数。 |
スプレッドシートで指定した行を固定するGAS
function myFunction() {
//アクティブなスプレッドシートを返す
var ss = SpreadsheetApp.getActiveSpreadsheet();
//アクティブな0番目のシートを返す
var sht = ss.getSheets()[0];
//見出しテキストを作成
var midashi = [
["概要","内容","項目","ナンバリング"]
];
//見出しテキストを1行目に設置
sht.getRange("A1:D1").setValues(midashi);
//見出しテキストを装飾
sht.getRange("A1:D1").setFontWeight("bold").setFontSize(20);
//繰返しテキストを変数へ格納
var array1,array2,array3
array1 = "Spread";
array2 = "Sheet";
array3 = ".BLUE";
//変数を繰り返しA~D列の11行目まで入力
for(let i=2;i<=11; i++){
sht.getRange(i,1).setValue(array1);//11行目までarray1をセット
sht.getRange(i,2).setValue(array2);//11行目までarray2をセット
sht.getRange(i,3).setValue(array3);//11行目までarray3をセット
var array = array1+array2+array3; //配列テキストの合体!
sht.getRange(i,4).setValue(array+(i-1));//11行目まで連番をセット
}
//メッセージボックスでYESNOを確認
var result = Browser.msgBox("1行目を固定化する?",Browser.Buttons.YES_NO);
if(result=="no"){
Browser.msgBox("1行目は固定化しないよ!");//noだったらそのまま
}else{
sht.setFrozenRows(1); // setFrozenRowsで1行目を固定する!
Browser.msgBox("1行目を固定化したよ!");//メッセージを掲載!
}
}
スプレッドシートで指定した行を固定するGAS実行の様子
setFrozenRows(rows)メソッドを利用して、スプレッドシートで指定した行を固定するGASを実行してみました。
スプレッドシートで指定した行を固定しない場合
setFrozenRowsを実行しないとき、指定された行は固定されません。
スプレッドシートで指定した行を固定する場合
setFrozenRowsを実行しないとき、指定された行が固定されます。
スプレッドシートで指定した行を固定するまとめ
GAS×スプレッドシートで指定した行を固定するならsetFrozenRows(rows)
メソッドを利用しましょう。
関連記事:【GAS】スプレッドシートのグループ化された行を閉じる
関連記事:【GAS】スプレッドシートの指定行をグループ化する
関連記事:【GAS】スプレッドシート指定の行グループを表示・指定外の行を非表示にする
関連記事:【GAS】スプレッドシートの指定行から複数行を非表示にする
関連記事:【GAS】スプレッドシートで行の非表示を再表示する
関連記事:【GAS】スプレッドシートの指定行の後ろに複数行を追加する
関連記事:【GAS】スプレッドシートの指定行の前に複数行を追加する
参考記事:【GAS】スプレッドシートに行を挿入する