如何保护 google sheet 中的条件格式?

How to protect conditional formatting in google sheet?

我在 sheet 中有 2 个 CF,我想继续使用 copy/pastes 您可以在下面查看范围和公式。

CF1 Range : B3:H1001
CF1 Formula : =($A3<>"")*(B3="") //This one higlights the empty cells in a given range

CF2 Range : A3:R1001  // This one highlights the row if the cell in R column is No.
CF2 Formula : =$R:$R="No"

有没有办法保护这些 CF 或在复制粘贴后再次应用它们?谢谢!

When I copy paste from another range I am losing the Conditional formats that i have created. So I want them to stay like I formatted or I would like them to be applied again after the copy/paste.

从上面的回复中,我了解到您希望保留条件格式,即 =($A3<>"")*(B3="") for B3:H1001=$R:$R="No" for A3:R1001,即使范围被复制并粘贴到 B3:H1001A3:R1001.

如果我的理解是正确的,这个答案怎么样?请将此视为几个可能的答案之一。

问题和解决方法:

不幸的是,在当前阶段,没有直接保护 Google Apps 脚本中的条件格式的方法。因此,在这种情况下,作为一种解决方法,我想建议在使用 OnChange 事件触发器更改条件格式和单元格时覆盖条件格式。

流量:

  1. 复制范围并更改条件格式的参数。
  2. 脚本由 OnChange 事件触发器自动运行。
  3. 删除现有的条件格式并设置新的条件格式。

用法:

1。复制并粘贴示例脚本

请复制并粘贴以下示例脚本。

示例脚本:

请设置 sheet 名称。

function onChange(e) {
  const sheetName = "Sheet1";  // Please set the sheet name.

  if (e.source.getActiveSheet().getSheetName() != sheetName || e.changeType != "OTHER") return;

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  var rules = sheet.clearConditionalFormatRules();
  const rule1 = SpreadsheetApp.newConditionalFormatRule()
    .setRanges([sheet.getRange("B3:H")])
    .setBackground("green")
    .whenFormulaSatisfied('=($A3<>"")*(B3="")').build();
  const rule2 = SpreadsheetApp.newConditionalFormatRule()
    .setRanges([sheet.getRange("A3:R")])
    .setBackground("green")
    .whenFormulaSatisfied('=$R:$R="No"').build();
  sheet.setConditionalFormatRules([rule1, rule2]);
  SpreadsheetApp.flush();  // This line might not be required.
}
  • 在此示例脚本中,您问题中的 2 个条件格式设置为绿色背景色。

2。安装 OnChange 事件触发器

Please install the OnChange event trigger to the function of onChange.

3。测试 运行

作为测试运行,请复制并粘贴sheetName中的范围。至此,脚本由 OnChange 事件触发 运行。

注:

  • 我觉得OnEdit事件触发器也可以用。但是在这种情况下,当条件格式的参数发生变化时,事件触发不是运行。所以我使用了 OnChange 事件触发器。

参考文献: