Googleドライブには、巨大なスプレッドシートファイルがあります。6人が複数の列で作業します。
1つの列があり、その中に各人が自分のイニシャル(HJ、MZなど)を書き込みます。書き込むときに、行全体を特定の色で自動的に強調表示するようにします。
例:
- MZ-赤
- HJ-ブルー
- FJ-グリーン
等々。どうすればそれを行うことができますか?
Googleドライブには、巨大なスプレッドシートファイルがあります。6人が複数の列で作業します。
1つの列があり、その中に各人が自分のイニシャル(HJ、MZなど)を書き込みます。書き込むときに、行全体を特定の色で自動的に強調表示するようにします。
例:
等々。どうすればそれを行うことができますか?
私は自分のスクリプトで似たようなことをしました。何に色を塗るかには制限がありますが、目的に合わせて色を変更する方法(行全体の色付けなど)は簡単にわかると思います。
私の「比較文字列」を「準備完了」などから「MZ」に変更するだけで、金色になります
コード:
function colorRow(r){
var sheet = SpreadsheetApp.getActiveSheet();
//I only want to color the row starting from 2nd column, up to 6th
var dataRange = sheet.getRange(r, 2, 1, 6);
var data = dataRange.getValues();
var row = data[0];
//If empty, set white
if(row[0] === ""){
dataRange.setBackgroundRGB(255, 255, 255);
//Rows needing checking, blue
} else if(row[0] === "Check"){
dataRange.setBackgroundRGB(153, 186, 247);
//Completed green
} else if(row[0] === "Ready"){
dataRange.setBackgroundRGB(192, 255, 192);
//Others red
} else{
dataRange.setBackgroundRGB(255, 192, 192);
}
SpreadsheetApp.flush();
}
//Called by system after every edit
function onEdit(event)
{
colorRow(event.source.getActiveRange().getRowIndex());
}
それが役に立てば幸い!
編集:onEdit()関数の間違いを修正しました。