行を操作する

【GAS】スプレッドシートで指定した行を非表示にする

GASでスプレッドシートで指定した行を非表示にするには「hideRow(row)」を利用する。

hideRow(row)

指定された範囲の行を非表示にします。

https://developers.google.com/apps-script/reference/spreadsheet/sheet?hl=en#hiderowrow

関連記事:【GAS】スプレッドシートの指定行を削除する

hideRow(row)のパラメーター

名前タイプ説明
rowRange非表示にする行範囲。
hideRow(row)のパラメーター

スプレッドシートで指定した行を非表示にする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-No
hideRowを実行しない場合

行を非表示する場合

hideRowを実行すると、2~5行目が非表示になっていることがわかります。

hideRow-YES
hideRowを実行した場合

スプレッドシートで指定した行を非表示にするまとめ

GAS×スプレッドシートで指定した行を非表示にするならhideRow(row)メソッドを利用しましょう。

220612.追記 hideRows(rowIndex)でも指定行の非表示が可能

hideRowhideRowsほぼ同じ仕様として利用できるので追記。

  • hideRow(row)はA1形式のセルを指定して行を非表示
  • hideRows(rowIndex)は行数を指定して行を非表示

上記のような違いがあるが、行数を指定するなら

  • hideRow
  • hideRows

どちらでも、思惑どおりに行の非表示をすることができる。

関連記事:【GAS】スプレッドシートで複数行を削除する

関連記事:【GAS】スプレッドシートの指定行を削除する

関連記事:【GAS】スプレッドシートで最下部に行を追加する

関連記事:【GAS】スプレッドシートの指定行の後ろに複数行を追加する

関連記事:【GAS】スプレッドシートの指定行の前に複数行を追加する

参考記事:【GAS】スプレッドシートに行を挿入する

-行を操作する