我试图弄清楚如何在 Google 电子表格上执行以下操作:将字母“x”放在 A 列第 2 行(标有“状态”的列)中,并自动将第 2 行的背景颜色更改为 RGB(244, 204、204)。我希望整个电子表格的每一行都如此。
谢谢你的帮助!
我试图弄清楚如何在 Google 电子表格上执行以下操作:将字母“x”放在 A 列第 2 行(标有“状态”的列)中,并自动将第 2 行的背景颜色更改为 RGB(244, 204、204)。我希望整个电子表格的每一行都如此。
谢谢你的帮助!
转到“工具 > 脚本编辑器”并保存并运行以下代码:
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Sheet1');
var rows = sheet.getRange('a1:z');
var numRows = rows.getNumRows();
var values = rows.getValues();
for (var i = 0; i <= numRows - 1; i++) {
var n = i+1;
var bgColor = (values[i].indexOf('N/A') == -1) ? 'white' : 'red';
sheet.getRange('a'+n+':z'+n).setBackgroundColor(bgColor);
}
};
当任何单元格包含值“N/A”时,它基本上会将行单元格的背景颜色从“A”更改为“Z”。
使用 onEdit() 触发器,您可以使用此代码
function onEdit(e) {
if (e.range.getColumn() ==1){
e.range.setBackgroundRGB(244, 204, 204);
}
}
@Dan Sudhakar 的响应适用于整行,只要您将sheet.getRange('a'+n+':z'+n)其中:z调整为工作表中的最后一列。不过,我确实需要额外的帮助。如何设置多个范围?我更改了对我有意义的内容,但它现在仅适用于对 C 列进行的调整,而忽略了 A。
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Sheet1');
var rows = sheet.getRange('a1:a');
var rows = sheet.getRange('c1:c'); // ADDED THIS //
var numRows = rows.getNumRows();
var values = rows.getValues();
for (var i = 0; i <= numRows - 1; i++) {
var n = i+1;
var bgColor = (values[i].indexOf('N/A') == -1) ? 'white' : 'red';
sheet.getRange('a'+n+':b'+n).setBackgroundColor(bgColor);
sheet.getRange('c'+n+':d'+n).setBackgroundColor(bgColor); // ADDED THIS //
}
};