【问题标题】:How can I highlight a cell when it it is changed from a referenced cell?从引用的单元格更改单元格时,如何突出显示该单元格?
【发布时间】:2021-05-27 23:23:41
【问题描述】:

我有一个有点复杂的 Google 表格。

  • 第一个选项卡是摘要选项卡,它使用 vlookup 从工作表中的其他选项卡收集数据。
  • 其他选项卡由 IMPORTRANGE 函数创建。
  • IMPORTRANGE 选项卡的来源由其他人编辑和维护。

当有人编辑他们的工作表时,IMPORTRANGE 工作表会自动更新,摘要选项卡也会相应更新。

我需要在第一个(摘要)选项卡上提供数据更改的每周摘要。当有人更新他们的私人工作表时,我想自动突出显示“摘要”选项卡上的单元格。

我有一个运行 onEdit 的脚本,当我直接在摘要选项卡上更新单元格时,它会更新更改,但当私有工作表上的数据发生更改时,会更新摘要选项卡,更改的单元格不会突出显示。

当引用的单元格更改时,摘要选项卡数据更改时如何实现突出显示?

更多-我有一个可安装的触发器和一个简短的脚本,在进行任何更改时都应该运行:

function createSpreadsheetOpenTrigger() {
   var ss = SpreadsheetApp.getActive();
   ScriptApp.newTrigger('onEdit2')
    .forSpreadsheet(ss)
    .onChange()
    .create();
    }

function onEdit2(e)
{
  var range=e.range;
  var column=range.getColumn();
  if(column>1 && column<27)
  {
    range.setBackground('#ffff00');

  }
}

执行失败并提供此错误,“TypeError: Cannot read property 'getColumn' of undefinedat onEdit2(Code:12:20)”

提前致谢。

【问题讨论】:

    标签: google-sheets highlight


    【解决方案1】:

    我相信您可以通过使用可安装的 onChange(e) trigger 而不是 onEdit 来做到这一点,因为通过脚本执行进行更改时不会触发 onEdit。

    看到这个答案:https://webapps.stackexchange.com/a/119702/237316


    更新:

    触发器限制表明,当通过脚本或 API 对绑定文档进行编辑时,不会执行 onEdit 和 onChange。但是,有一个使用 sheet API 的解决方法可以触发触发器。如果您通过 Apps 脚本将 ValueInputOption = USER_ENTERED 与 Sheets API 一起使用。见https://developers.google.com/sheets/api/reference/rest/v4/ValueInputOption?hl=en

    【讨论】:

    • 感谢您的回复。我试过这个,但我得到了一个错误。我将代码发布到主帖。
    • @BobMorganAZ-Phoenix 我编辑了我的答案,以显示触发器是通过 API 执行操作的一种方式,即使用 ValueInputOption。但是,由于限制,在您当前的工作流程中它不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-31
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    相关资源
    最近更新 更多