问题描述
我正在尝试对同一个单元格同时使用 setValue 和 setBackgroundRGB 方法,但它不起作用。 实际上,只有 setValue 有效。我尝试了以下 if-else 条件的 3 种不同方式,但我总是只看到数字,背景颜色没有任何变化。如果我删除数字,只有这样我才能看到颜色。同一个单元格可以同时拥有两者吗?
(另外,有没有办法在不使用活动单元格的情况下在特定列中工作?)
function onEdit(e) {
var active_cell = e.range;
var active_column = active_cell.getColumn();
if(active_sheet.getName().startsWith("202")){
var in_row= 5;
var exp_row= 6;
var diff_row = 7;
var income = active_sheet.getRange(in_row,active_column).getValue();
var expenses = active_sheet.getRange(exp_row,active_column).getValue();
var diff = income - expenses;
if (active_column >= 2){
if(income > expenses) {
active_sheet.getRange(diff_row,active_column).setBackgroundRGB(255,0).setValue(diff);
} else if (income == expenses) {
active_sheet.getRange(diff_row,active_column).setValue(diff).setBackgroundRGB(0,255,0);
} else {
active_sheet.getRange(diff_row,active_column).setValue(diff);
active_sheet.getRange(diff_row,active_column).set.setBackgroundRGB(255,0);
}
}
}
}
解决方法
active_sheet
未在您的代码中定义,Range.setBackgroundRGB() 和 Range.setValue() 在您的任一组合中均按预期工作。
更新代码:
function onEdit(e) {
var active_sheet = e.source.getActiveSheet();
var active_cell = e.range;
var active_column = active_cell.getColumn();
if(active_sheet.getName().startsWith("202")){
var in_row= 5;
var exp_row= 6;
var diff_row = 7;
var income = active_sheet.getRange(in_row,active_column).getValue();
var expenses = active_sheet.getRange(exp_row,active_column).getValue();
var diff = income - expenses;
if (active_column >= 2){
if(income > expenses) {
active_sheet.getRange(diff_row,active_column).setBackgroundRGB(255,0).setValue(diff);
} else if (income == expenses) {
active_sheet.getRange(diff_row,active_column).setValue(diff).setBackgroundRGB(0,255,0);
} else {
active_sheet.getRange(diff_row,active_column).setValue(diff);
active_sheet.getRange(diff_row,0);
}
}
}
}
输出:
关于您的另一个问题:有没有办法在不使用活动单元格的情况下在特定列中工作?
- 是的,您可以选择特定列作为您的范围,而无需使用活动单元格的列索引。您只需要在使用 Sheet.getRange(row,column) 选择范围时提供硬编码的列索引。
示例:
var income = active_sheet.getRange(in_row,4).getValue();
- 在这里,我将访问 D 列(位于索引 4 中)中的单元格。