newConditionalFormatRule;当NumberGreaterThanOrEqua

我正在构建一个谷歌脚本,但在创建条件格式时遇到问题。如果我在工作表中构建它们,则设置条件格式的范围没有问题,然后将其设置为“大于或等于”并给它一个单元格,例如 =$B$5。


当我使用脚本构建相同的东西时,它给我一个错误,它只接受数字而不接受单元格..?


谁能帮我解决这个问题吗?或者根本不支持?


// What i want to work, but throws an error, since it doesn't get a number.

formatrules.push(Rule1);

  var rule_builder = SpreadsheetApp.newConditionalFormatRule()

  .whenNumberGreaterThanOrEqualTo("=$B$9")

  .setBackground("#85e085")

  .setRanges([currentsheet.getRange("H3:H8")])

  .build();



// Something I tried, but it sets it to a static number and not the cell

formatrules.push(Rule1);

  var rule_builder = SpreadsheetApp.newConditionalFormatRule()

  .whenNumberGreaterThanOrEqualTo(sheet.getRange('B9').getValue())

  .setBackground("#85e085")

  .setRanges([currentsheet.getRange("H3:H8")])

  .build();


神不在的星期二
浏览 130回答 3
3回答

慕哥9229398

建议修改既然你想要一个动态值,那么使用该函数怎么样.whenFormulaSatisfied(String formula)?这是您的应用案例中的一个示例:var rule_builder = SpreadsheetApp.newConditionalFormatRule()   .whenFormulaSatisfied("=H3:H8>$B$9")   .setBackground("#85e085")   .setRanges([currentsheet.getRange("H3:H8")])   .build();

温温酱

当前接受的答案应保持接受状态。这只是对OP评论的补充:再次进入范围似乎有点奇怪您可以定义一次范围,然后使用模板文字将其合并到表达式中:  var rng = "H3:H8";  var rule_builder = SpreadsheetApp.newConditionalFormatRule()  .whenFormulaSatisfied(`=${rng}>$B$9`)  .setBackground("#85e085")  .setRanges([currentsheet.getRange(rng)])  .build();

POPMUISE

中的参数为Number 类型,如此处所示的whenNumberGreaterThanOrEqualToAPI 文档中所指定。您正在传递对单元格的字符串引用。相反,您必须使用,就像您在第二次尝试中所做的那样。您遇到的问题可以通过每次编辑电子表格时更新该规则来解决(即为创建此规则的函数创建一个 onEdit 触发器)。SpreadsheetApp.getActiveSheet().getRange("B9").getValue()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript