从引用的单元格更改单元格时,如何突出显示该单元格?
Posted
技术标签:
【中文标题】从引用的单元格更改单元格时,如何突出显示该单元格?【英文标题】: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)”
提前致谢。
【问题讨论】:
【参考方案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。但是,由于限制,在您当前的工作流程中它不起作用。以上是关于从引用的单元格更改单元格时,如何突出显示该单元格?的主要内容,如果未能解决你的问题,请参考以下文章
UITableView 选择单元格时所有组件都更改了背景颜色