前提・実現したいこと
進捗状況が変わった際に1行文字背景の変更をGoogle Apps Scriptで実行できるようにしたいです。
発生している問題・エラーメッセージ
1,
https://fastclassinfo.com/entry/gas_spreadsheet_color_change/
上記サイトを参考に実行したらD列よりも左側のみ灰色になりました。
サイトだと1行全体灰色になったのですがどうにも上手くいきません。
2,
実際は1ファイルに対し複数の営業所分のシートがあるためこ、
ファイル全体にこのGASを実行したいのですがシート名を指定しないと実行エラーになってしまいます。
3,
以前こちらで質問して解決したコードと今回のコードを増やしたら、
前回のコードは実行されましたが、今回のコードは実行されませんでした。
1つのスプレッドシートに対して複数のGASは実行されないのでしょうか。
※1番目の画像は新規作成したスプレッドシートに対しGASを実行したらできました。
該当のソースコード
//プログラム0|プロシージャ名 function changecellcolor() { //プログラム1|スプレッドシートを取得 var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet = spreadsheet.getSheetByName('シート1'); //プログラム2|シート1のデータを二次元配列として取得 var myRange = sheet.getDataRange().getValues(); //プログラム3|シート1を1行ずつ調べるD列(状況)に応じて背景色を変更 for(var i = 1; i < myRange.length; i++) {//2行目から開始するためにi=1 var status = myRange[i][3]; //D列が状況なので、[3]とする var range = sheet.getRange(i+1, 1, 1, myRange[0].length);//1行を取得する //プログラム4|シート1のD列(状況)が完了であれば背景色、そうではないなら色なし if(status=='6(納入完了)'){ range.setBackground("#C0C0C0");//灰色 }else{ range.setBackground(null);//色なし } } }
試したこと
~~//プログラム1|スプレッドシートを取得
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheetByName('シート1');
//プログラム2|シート1のデータを二次元配列として取得
var myRange = sheet.getDataRange().getValues();~~
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー