【问题标题】:Google Sheets Conditional Formatting changes when new rows added添加新行时,Google 表格条件格式会发生变化
【发布时间】:2015-01-20 15:27:46
【问题描述】:

所以我单击 A 和 1 之间的单元格以选择整个工作表,然后单击“格式”,然后单击“条件格式”并设置规则。基本上,我有大约 15 种不同的条件,但都在 F 到 O 列中,所以我使用 F:O。例如,如果文本完全是 YES,则将背景更改为绿色。

问题是当我添加新行时,该行的格式设置停止,F:O 规则被 F1:O15、F17:O59 等替换,跳过第 16 行。

我可以使用添加行时永远不会改变的脚本吗?

【问题讨论】:

  • 它的新床单。每行跳过一行,所以我不确定这是否会影响它。例如,我们在第 1、3、5、7 等行有数据,然后不时在这些行的中间添加新行。这似乎是问题发生的时候,所以我想知道脚本是否会更好,它会去哪里。谢谢。

标签: google-sheets gs-conditional-formatting


【解决方案1】:

您可以设置一个 onEdit 触发器,该触发器在您每次编辑工作表时应用格式。我提供了一个函数示例,该函数将单元格 A1 的格式复制到工作表中的所有单元格。此链接会将您带到 Google 的此类工作文档。 https://developers.google.com/apps-script/reference/spreadsheet/range

这是关于触发器的文档... https://developers.google.com/apps-script/guides/triggers/

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())
  
}

【讨论】:

  • 好的,这让我很着急:) - 我假设这进入了工具下的脚本编辑器?我只需要弄清楚如何采用现有的规则并将它们“转换”为要在脚本中使用的代码。
  • 是的,您可以在工具下的脚本编辑器中编写此脚本。但是,如果您只是从一个单元格(此处为 A1)复制格式,则不需要将任何格式“转换”为代码。如果您只是用工作表的名称替换“Sheet1”,我列出的代码将起作用。希望这会有所帮助!
  • 好的,所以将我创建的所有条件格式都放在 A1 中,而不是选择所有单元格,然后将脚本粘贴到编辑器中。这是有道理的。
  • 是的,我认为这应该可以解决问题。我在条件格式方面做得不多,但根据谷歌的文档,这应该可以工作:)
  • Chris - 我认为您的脚本应该可以工作,但您需要以某种方式触发它。单击脚本编辑器中播放图标附近的时钟图标。然后在“运行”下选择函数名称。然后,在“事件”下,您应该选择“来自电子表格”和“编辑时”。这将导致您的脚本在每次编辑电子表格时运行。
猜你喜欢
  • 1970-01-01
  • 2023-02-02
  • 2016-12-08
  • 2022-01-09
  • 2020-09-08
  • 1970-01-01
  • 2014-03-26
  • 2017-03-18
  • 2018-01-08
相关资源
最近更新 更多