尝试双向引用两个单元格

问题描述 投票:0回答:1

我基本上想知道为什么以下 Google Scripts 脚本不能双向工作。 如果我编辑 NW!P2,则 History!R2 会正确更新,而如果我编辑 History!R2,NW!P2 则不关心。

function onEdit(e) {
  if (!e.source) {
    console.error("Error: e.source is undefined");
    return;
  }

  var nwSheet = e.source.getSheetByName('NW'); // Set the name of the NW sheet
  var historySheet = e.source.getSheetByName('History'); // Set the name of the History sheet

  var range = e.range;
  var value = range.getValue();
  var sheetName = nwSheet.getName();

  // Update History!R2 when NW!P2 is edited
  if (range.getA1Notation() == 'P2' && sheetName == 'NW') {
    historySheet.getRange('R2').setValue(value);
  }

  // Update NW!P2 when History!R2 is edited
  if (range.getA1Notation() == 'R2' && sheetName == 'History') {
    nwSheet.getRange('P2').setValue(value);
  }
}
google-apps-script google-sheets reference cell
1个回答
0
投票

在您的显示脚本中,

var sheetName = nwSheet.getName();
始终是来自
NW
var nwSheet = e.source.getSheetByName('NW');
的工作表名称。我认为这可能是您当前问题的原因,如果您想消除此问题,可以进行以下修改吗?

来自:

var sheetName = nwSheet.getName();

致:

var sheetName = range.getSheet().getName();

var sheetName = e.source.getActiveSheet().getName();
  • 通过此修改,
    sheetName
    用作编辑单元格的工作表。
© www.soinside.com 2019 - 2024. All rights reserved.