是否可以在单元格中触发值更改,其中该值是来自其他工作表的引用?
使用onEdit()
,我只是获得了所引用单元格的单元格。
例如:
表单A,单元格A1,值是:=SheetB!A2
(来自另一张表单)
我现在如何触发单元格A1
中的新值?
答案 0 :(得分:0)
您必须调用另一个工作表,例如:
var sheet1 = SpreadsheetApp.openById(“id of your main sheet”);
var sheet2 = SpreadsheetApp.openById(“id of the other sheet);
var valueA2 = sheet2.getRange(“A2”).getValue();
var valueA1 = sheet1.getRange(“A1”).setValue(valueA2);
由于A1值为=SheetB!A2
,因此我假设两个工作表共享相同的ID。除非您在条件中指定工作表的名称,否则onEdit()函数可在整个工作表上使用。问题是,如果SheetA的A1值从SheetB获得更新,则您想触发一个事件,因为您已经在编辑SheetB,所以这是多余的,因此onEdit()函数将忽略正在更新的SheetA。除非在更新SheetA时要执行非常特定的操作,否则应该在SheetB A2单元更新时触发事件。