Javascript 如何更改/设置活动范围内每个单元格的背景色
我试图改变每个单元格的背景色,但是使用了一些if语句。 我有一些代码可以对1个单元格执行此操作,但我希望它对所有活动单元格执行相同的操作 我的谷歌脚本代码:Javascript 如何更改/设置活动范围内每个单元格的背景色,javascript,html,google-apps-script,google-sheets,Javascript,Html,Google Apps Script,Google Sheets,我试图改变每个单元格的背景色,但是使用了一些if语句。 我有一些代码可以对1个单元格执行此操作,但我希望它对所有活动单元格执行相同的操作 我的谷歌脚本代码: function changeColor(){ // Change the background color let colorRed = '#f23a53'; let colorOrange = '#f29f3a'; let colorGreen = '#7de396'; let actCell = SHE
function changeColor(){
// Change the background color
let colorRed = '#f23a53';
let colorOrange = '#f29f3a';
let colorGreen = '#7de396';
let actCell = SHEET.getActiveCell();
let actData = actCell.getValue();
if (Number.isInteger(actData)) {
if (actData < 5) {
actCell.setBackground(colorRed);
} else if (actData < 9) {
actCell.setBackground(colorOrange);
} else if (actData == 9|| actData == 10) {
actCell.setBackground(colorGreen);
}
} else {
SHEET.getRange('D1').setValue(SpreadsheetApp.getActive().getActiveRange().getA1Notation()+" doesn't contain an integer.");
}
}
函数changeColor(){
//更改背景色
设colorRed='#f23a53';
让colorOrange='#f29f3a';
让colorGreen='#7de396';
设actCell=SHEET.getActiveCell();
让actData=actCell.getValue();
if(编号isInteger(actData)){
如果(actData<5){
actCell.挫折背景(红色);
}否则如果(actData<9){
actCell.挫折背景(橙色);
}else if(actData==9 | | actData==10){
actCell.挫折背景(色绿色);
}
}否则{
SHEET.getRange('D1').setValue(SpreadsheetApp.getActive().getActiveRange().getA1Notation()+“不包含整数”);
}
}
我是否应该列出每个活动单元格,然后在其上循环并运行函数“changeColor”?或者,是否有一种方法可以获取活动范围,并使用内置功能一次查看每个单元格?
谢谢您的时间。要在包含多个单元格的活动区域上执行请求,请使用
getActiveRange()
而不是getActiveCell()
这将返回一个二维范围,而不是单个单元格
相应地,您需要在该范围的单元格中循环,并验证您的条件是否满足
这个方法很有用
代码修改示例:
函数changeColor(){
//更改背景色
设colorRed='#f23a53';
让colorOrange='#f29f3a';
让colorGreen='#7de396';
let SHEET=SpreadsheetApp.getActive().getActiveSheet();
让actRange=SHEET.getActiveRange();
让actData=actRange.getValues();
var startRow=actRange.getRow();
var startColumn=actRange.getColumn();
var integer=false;
对于(变量i=0;i
如果要对多个单元格执行此操作,请使用setBackgrounds
并相应地调整代码。但是,如果每个单元格都包含整数,我无法对其进行检查。