我已经检查了多个线程以查找我正在寻找的结果并且没有任何运气。
我想要完成的是根据特定值更改单元格字体颜色和大小。 (如果col B1:B等于“Changes:”,则将字体更改为红色和粗体)
我能够让以下工作:
function onEdit(e) {
if (e) {
var ss = e.source.getActiveSheet();
var r = e.source.getActiveRange();
// If you want to be specific
// do not work in first row
// do not work in other sheets except "Sheet3"
if (r.getRow() != 1 && ss.getName() == "Sheet3") {
// E.g. status column is 2nd (B)
status = ss.getRange(r.getRow(), 2).getValue();
// Specify the range with which You want to highlight
// with some reading of API you can easily modify the range selection properties
// (e.g. to automatically select all columns)
rowRange = ss.getRange(r.getRow(),1,1,19);
// This changes font color
if (status == 'CHANGES:') {
rowRange.setFontColor("#FF0000");
rowRange.setFontWeight("bold");
} else if (status == 'DELETIONS:') {
rowRange.setFontColor("##FF0000");
rowRange.setFontWeight("bold");
// DEFAULT
} else if (status == '') {
rowRange.setFontColor("#000000");
}
}
}
}
我的脚本问题是我希望它在触发器上运行(“打开”或“更改时”),而不是“编辑”。我使用脚本从Sheet1复制数据并将其粘贴到Sheet3。复制/粘贴脚本运行后,我希望格式化脚本在Sheet3上运行并按上述方式编辑单元格。