我编写了一个Apps脚本代码,用于在范围上创建条件格式。在运行脚本之后,条件格式被完美地创建,但它不能单独工作:我必须手动输入格式>条件格式>输入我创建的valdation并保存它(不更改任何东西)让它工作正如它应该。
var hojaCamada = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(camada);
var range = hojaCamada.getRange("K6:K100");
var rule = SpreadsheetApp.newConditionalFormatRule()
.whenFormulaSatisfied('=Y($J6 < $I$3;$K6<1)')
.setBackground("#ea9999")
.setRanges([range])
.build();
var rules = hojaCamada.getConditionalFormatRules();
rules.push(rule);
hojaCamada.setConditionalFormatRules(rules);
任何人都可以帮我弄清问题是什么?提前致谢。
标记
我没有看到你的代码有什么问题,我会分享一些我做的不同的事情,
我通过清除现有规则来启动我的颜色功能。
var spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.getSheetByName("x");
sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns()).activate();
sheet.clearConditionalFormatRules();
var conditionalFormatRules = spreadsheet.getActiveSheet().getConditionalFormatRules();
我也在每个规则中手动完成我的范围
var rule = SpreadsheetApp.newConditionalFormatRule()
.setFontColor('#a2c8ec')
.setBackground('black')
.whenFormulaSatisfied('=$D1=1')
.setRanges([spreadsheet.getRange('A:J')])
.build();
conditionalFormatRules.push(rule);
sheet.setConditionalFormatRules(conditionalFormatRules);
在你的位置我会做这两件事,改变你选择范围的方式,并在每次运行函数时清除所有旧的格式。