getRange没有正确引用

时间:2018-02-25 21:05:15

标签: javascript google-apps-script google-sheets

感谢this answer Shyam Kansagra,我修改了以下代码以检查Google表格单元格背景颜色,并根据该颜色更改不同单元格的值。

我很接近,但目前getRange仅检查第6列。我希望它检查第6,7,8,9,10列,如果该行中的任何单元格为红色,则写入&#34 ;红色"在获得BG颜色时,我认为bg = sheet1.getRange(i+2, 6, 10, 5).getBackground();会检查所有5列,但目前只检查第6列。

以下是完整代码:

function myFunction() {
  var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Compliance Main");

  var data1 = sheet1.getDataRange().getValues();  //2D array of sheet1 cell values
  var bg;

  for(var i=0; i<data1.length; i++)
  {
    bg = sheet1.getRange(i+2, 6, 6, 5).getBackground();
    if(bg == "#ff0000")  //Add more colors in else if and else if
    {
      sheet1.getRange(i+2, 11).setValue("Red");  //Set value in corresponding row
    } else if(bg == "#ffff00")
    {
      sheet1.getRange(i+2, 11).setValue("Yellow");
    } else if(bg == "#ffffff")
    {
      sheet1.getRange(i+2, 11).setValue("White");
    }
  }
}

为了更加清晰,以下是错误工作表的屏幕截图: - 如您所见,我希望它引用整组列,但它只引用第6列。

如果这些编辑很粗糙,我很抱歉,我是js的初学者。感谢您提供的任何帮助!

0 个答案:

没有答案