GASでスプレッドシートの行を選択して色付け

GASでスプレッドシートの行を選択して色付けには

  • getRange(“行数:行数”)
  • setBackground(webカラー)

を使う。

GASでスプレッドシートの行を選択して色付けするスクリプト

今回は取得したいスプレッドシートの行数を変数rwに格納し、その行に背景色を設定する。

sht.getRange(rw+":"+rw).setBackground(color);

↑というコードを書いて実行してみた。

 

スプレッドシートで行を取得して色付けするスクリプト

スプレッドシートの行にある土日だけ色付けするの記事で

setBackgroundColorメソッド」は今後使えなくなるかも・・とGoogleさんから言われたので代わりにjavascriptの

  • setBackground

にて背景色を設定したらアラートが出なくなった。

/*任意の行を選択して色付け*/
function rowcol(){

var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sht = ss.getActiveSheet();

//選択したい行をinputboxで表示する
 var rw = Browser.inputBox('選択したい行を入力して下さい');
//選択した行を塗り潰す色
 var color = "yellow"
//選択した行を塗りつぶす
    sht.getRange(rw+":"+rw).setBackground(color);

//メッセージボックスに選択した行を塗りつぶすことを表示
    Browser.msgBox(+rw+"行目を"+color+"で塗り潰します");
 
}

inputBox使って任意の行数を入力➜rw変数に格納。

  • sht.getRange(rw+”:”+rw)

で行を選択した。

 

スプレッドシートの行を取得して色付けを削除するスクリプト

色付けした行の背景色をリセットするスクリプト。背景色をクリアするには、

  • setBackground(null)

で解決。(nullは記入必須)

/*選択した行の背景色を消す*/
function colorclear(){

var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sht = ss.getActiveSheet();

//背景色を消したい行をinputboxに入力してもらう
 var rw = Browser.inputBox("背景色を消したい行を選択して下さい");
//選択した行の背景色をnullで削除
 sht.getRange(rw+":"+rw).setBackground(null);

//メッセージボックスに削除した内容を表示
   Browser.msgBox(rw+"行目の色をリセットします");
     
}

 

スプレッドシートの行を取得して色付けして削除するsample

 

まとめ

inputBoxから任意の行数を入力して扱うと何かと便利。

スプレッドシートの任意の列選択も出来たら書く。

>>GASでスプレッドシートの行にある土日だけ色付けする

>>スプレッドシートの最終行を取得する

>>スプレッドシートの最大行を取得する

スプレッドシートの指定した行の前に複数の行を挿入する