神不在的星期二
2023-08-05 10:18:19
我正在構建一個谷歌腳本,但在創建條件格式時遇到問題。如果我在工作表中構建它們,則設置條件格式的范圍沒有問題,然后將其設置為“大于或等于”并給它一個單元格,例如 =$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 cellformatrules.push(Rule1); var rule_builder = SpreadsheetApp.newConditionalFormatRule() .whenNumberGreaterThanOrEqualTo(sheet.getRange('B9').getValue()) .setBackground("#85e085") .setRanges([currentsheet.getRange("H3:H8")]) .build();
3 回答

慕哥9229398
TA貢獻1877條經驗 獲得超6個贊
建議修改
既然你想要一個動態值,那么使用該函數怎么樣.whenFormulaSatisfied(String formula)
?
這是您的應用案例中的一個示例:
var?rule_builder?=?SpreadsheetApp.newConditionalFormatRule() ??.whenFormulaSatisfied("=H3:H8>$B$9") ??.setBackground("#85e085") ??.setRanges([currentsheet.getRange("H3:H8")]) ??.build();

溫溫醬
TA貢獻1752條經驗 獲得超4個贊
當前接受的答案應保持接受狀態。這只是對OP評論的補充:
再次進入范圍似乎有點奇怪
您可以定義一次范圍,然后使用模板文字將其合并到表達式中:
? var rng = "H3:H8";
? var rule_builder = SpreadsheetApp.newConditionalFormatRule()
? .whenFormulaSatisfied(`=${rng}>$B$9`)
? .setBackground("#85e085")
? .setRanges([currentsheet.getRange(rng)])
? .build();

POPMUISE
TA貢獻1765條經驗 獲得超5個贊
添加回答
舉報
0/150
提交
取消