我尝试使用脚本创建条件格式(因为当有人复制和粘贴单元格时,该单元格的规则也被粘贴并且规则很快变成了wtf)
这是六个规则的列表,问题是如果我手动创建它们,它们都可以正常工作。
正如您在下一张图片中看到的,如果我使用脚本,则只有第 6 条规则有效,我不知道为什么只有第 6 条规则而不是其他规则。
对于第 1 条到第 5 条规则,我必须对规则范围进行修改,例如,对于第一条规则,从“A:A1000”到“A:A100”,等待工作表计算(规则现在工作) 然后再次将范围修改为“A:A1000”以将其应用于所有范围。
我在网络上到处搜索,但没有发现有关此错误的任何信息,我是唯一一个 :O 吗?!
这是我的脚本示例:
function FormatSheet() {
var sheet = SpreadsheetApp.getActive().getSheetByName("Test");
var rangea = sheet.getRange("A:A")
var rangeb = sheet.getRange("B:B")
var rangec = sheet.getRange("C:C")
var ranged = sheet.getRange("D:D")
var rangee = sheet.getRange("E:E")
var rangef = sheet.getRange("F:F")
var rangeg = sheet.getRange("G:G")
var rangeh = sheet.getRange("H:H")
var rangei = sheet.getRange("I:I")
var rangej = sheet.getRange("J:J")
var rangek = sheet.getRange("K:K")
var rangel = sheet.getRange("L:L")
var rangem = sheet.getRange("M:M")
var rangen = sheet.getRange("N:N")
var rangeo = sheet.getRange("O:O")
var rangep = sheet.getRange("P:P")
var rangeq = sheet.getRange("Q:Q")
var ranger = sheet.getRange("R:R")
var ranges = sheet.getRange("S:S")
var ranget = sheet.getRange("T:T")
var rangeu = sheet.getRange("U:U")
var rangev = sheet.getRange("V:V")
var rangew = sheet.getRange("W:W")
var rangex = sheet.getRange("X:X")
var rangey = sheet.getRange("Y:Y")
var rangez = sheet.getRange("Z:Z")
//var range3 = sheet.getRange("A1:T1");
sheet.clearConditionalFormatRules();
var rule2 = SpreadsheetApp.newConditionalFormatRule()
.whenFormulaSatisfied('=ET(REGEXMATCH($M1;"ABC*");NBCAR($M1)=8)=VRAI')
.setBackground("#c9daf8")
.setRanges([rangea,rangeb])
.build();
var rules2 = sheet.getConditionalFormatRules();
rules2.push(rule2);
sheet.setConditionalFormatRules(rules2);
var rule22 = SpreadsheetApp.newConditionalFormatRule()
.whenFormulaSatisfied('=ET(REGEXMATCH($M1;"ABC*");NBCAR($M1)=8)=VRAI')
.setBackground("#c9daf8")
.setRanges([rangec])
.build();
var rules22 = sheet.getConditionalFormatRules();
rules22.push(rule22);
sheet.setConditionalFormatRules(rules22);
var rule11 = SpreadsheetApp.newConditionalFormatRule()
.whenFormulaSatisfied('=ET(B1="";C1="")=VRAI')
.setBackground("#b7b7b7")
.setRanges([rangea,rangeb,rangec,ranged,rangee,rangef,rangeg,rangeh,rangei,rangej,rangek,rangel,rangem,rangen,rangeo,rangep,rangeq])
.build();
var rules11 = sheet.getConditionalFormatRules();
rules11.push(rule11);
sheet.setConditionalFormatRules(rules11);
var rule3 = SpreadsheetApp.newConditionalFormatRule()
.whenFormulaSatisfied('=R:R=AUJOURDHUI()')
.setBackground("#ff9900")
.setRanges([rangea])
.build();
var rules3 = sheet.getConditionalFormatRules();
rules3.push(rule3);
sheet.setConditionalFormatRules(rules3);
var rule4 = SpreadsheetApp.newConditionalFormatRule()
.whenFormulaSatisfied('=J1<>""')
.setBackground("#4b88e4")
.setRanges([rangej,rangek])
.build();
var rules4 = sheet.getConditionalFormatRules();
rules4.push(rule4);
sheet.setConditionalFormatRules(rules4);
}
感谢您的帮助