1

Googleドライブには、巨大なスプレッドシートファイルがあります。6人が複数の列で作業します。

1つの列があり、その中に各人が自分のイニシャル(HJ、MZなど)を書き込みます。書き込むときに、行全体を特定の色で自動的に強調表示するようにします。

例:

  • MZ-赤
  • HJ-ブルー
  • FJ-グリーン

等々。どうすればそれを行うことができますか?

4

1 に答える 1

1

私は自分のスクリプトで似たようなことをしました。何に色を塗るかには制限がありますが、目的に合わせて色を変更する方法(行全体の色付けなど)は簡単にわかると思います。

私の「比較文字列」を「準備完了」などから「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()関数の間違いを修正しました。

于 2013-01-10T08:28:33.463 に答える