0

最初的问题在这里并且有一个我认为有效的答案:Google Sheets Conditional Formatting changes when new rows added

但是在使用它一个月左右之后,当我添加新行时,我仍然遇到条件格式更改“范围:”中的值的问题。例如,如果我的格式是针对整个 B 列,然后我在第 35 行添加一行,则条件格式现在在范围内具有 B1:B34,而第 35 行没有格式。

解决方案是将此代码放入 Google 表格的脚本编辑器中。

function formatRange(){
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName("Sheet1");
    var range = sheet.getRange("A1");
 range.copyFormatToRange(sheet,1,sheet.getLastColumn(),1,sheet.getLastRow())
}

同样,只要将新行添加到工作表,条件格式范围信息就会更改并跳过新行。

4

2 回答 2

0

如果格式化和整列是可行的,那可以在代码中完成:

function columnBackground() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var range = sheet.getRange("B:B");
  range.setBackground("red");
}

上面的代码将整个 B 列的背景格式化为红色。

于 2015-03-17T21:16:49.603 回答
0

简短的回答

为整列设置条件格式规则,而不是逐个单元格设置条件格式。

解释

在“应用到范围”设置中,范围应该类似于B1:B1001,因此每当您在 B1 和 B1001 之间插入一行时,条件格式规则将包括新行。

注意:如果您使用B1:B它将自动更改为将最后一个单元格设置为与电子表格中的最后一行相对应的单元格。

于 2016-02-16T11:25:08.737 回答