スプレッドシートにて、GASで特定文字が入った列を非表示にしたい

実現したいこと

指定範囲にて特定文字が入った列のみを非表示にしたい。

前提

スプレッドシートにて特定の値と一致した場合、その値がある列のみを非表示にしたいです。
条件と一致する列を非表示にする記述がうまくできておりません。

試したこと

  • A列の範囲内にて、「空欄」のセルがある列のみを非表示にする。

のように、指定値に一致する「行」を非表示にする方法はうまくいったのですが、「列」の非表示方法がわかっておりません。
実現したいイメージとしては以下の「列」非表示バージョンです。

10行目にてgetRangeの範囲を「1行目」に変更し、値も取得できていることは確認できたのですが、
hideRowshideColumns に変更しただけでは特に何も変化はありませんでした。
他にも手を加える必要があるかと思うのですが、知識がなく改変すべき内容がわからない状態です。

JavaScript

1function hidden() {2 3 var sh = SpreadsheetApp.getActiveSpreadsheet();4 var objSheet = sh.getSheetByName("シート1");5 6 var key = "";7 var col = "A";8 9 //A列が空白なら行を非表示10 var values = objSheet.getRange(col + "1:" + col + objSheet.getLastRow()).getValues();11 for (var i = 0; i < values.length; i++) {12 if (values[i][0] === key) {13 objSheet.hideRows(i + 1);14 }15 }16}

補足情報

参照)
https://teratail.com/questions/197765

コメントを投稿

0 コメント