GASでスプレッドシートで指定した行を非表示にするには「hideRow(row)
」を利用する。
hideRow(row)
指定された範囲の行を非表示にします。
https://developers.google.com/apps-script/reference/spreadsheet/sheet?hl=en#hiderowrow
hideRow(row)のパラメーター
名前 | タイプ | 説明 |
---|---|---|
row | Range | 非表示にする行範囲。 |
スプレッドシートで指定した行を非表示にするGAS
function myFunction() {
//アクティブなスプレッドシートを返す!
var ss = SpreadsheetApp.getActiveSpreadsheet();
//アクティブなスプレッドシートを取得
var sht = ss.getActiveSheet();
//A1:D5にテキストを実装
var val = [
["Spread","Sheet",".BLUE","ここは表示する行"],
["Spread","Sheet",".BLUE","ここは表示しない行"],
["Spread","Sheet",".BLUE","ここは表示しない行"],
["Spread","Sheet",".BLUE","ここは表示しない行"],
["Spread","Sheet",".BLUE","ここは表示する行"]
];
//A1:D5にvalを実装
sht.getRange("A1:D5").setValues(val);
//メッセージボックスyesnoで2~4行目を削除するか確認
var result = Browser.msgBox("2~4行目を隠しちゃう?",Browser.Buttons.YES_NO);
//ifでnoだったらリサイズしないメッセージを出す(==:~等しい)
if(result=="no"){
Browser.msgBox("2~4行目を非表示にしなかったぜ");//noと等しい場合のテキスト表示
sht.getRange("A2:D4").setBackground("yellow");//表示しない行の背景セルを黄色に
sht.autoResizeColumns(5,2);//列を自動で調整
}else{
var rng = sht.getRange("A2:A4");
sht.hideRow(rng);//no以外の場合、2~4行目を非表示
sht.autoResizeColumns(5,2);//列を自動で調整
}
}
スプレッドシートで指定した行を非表示にするGAS実行の様子
hideRow(row)メソッドを利用して、スプレッドシートで指定した行を非表示にするGASを実行してみました。
hideRowを実行すると、指定した複数行非表示になっていることがわかります。
行を非表示にしない場合
hideRowを実行しないときは、非表示対象の行に黄色く塗りつぶししてます。
行を非表示する場合
hideRowを実行すると、2~5行目が非表示になっていることがわかります。
スプレッドシートで指定した行を非表示にするまとめ
GAS×スプレッドシートで指定した行を非表示にするならhideRow(row)
メソッドを利用しましょう。
220612.追記 hideRows(rowIndex
)でも指定行の非表示が可能
hideRowとhideRowsはほぼ同じ仕様として利用できるので追記。
- hideRow(row)はA1形式のセルを指定して行を非表示
- hideRows(rowIndex)は行数を指定して行を非表示
上記のような違いがあるが、行数を指定するなら
- hideRow
- hideRows
どちらでも、思惑どおりに行の非表示をすることができる。
関連記事:【GAS】スプレッドシートの指定行の後ろに複数行を追加する
関連記事:【GAS】スプレッドシートの指定行の前に複数行を追加する
参考記事:【GAS】スプレッドシートに行を挿入する