onEdit 不适用于带有公式的单元格

问题描述 投票:0回答:1
function onEdit(e) {
  if (!e) return;
  var range = e.range;
  var sheet = range.getSheet();
  
  var SheetName = "Civilian";
  
  if (sheet.getName() === SheetName) {
    var editedCell = range.getA1Notation();
    
    if (editedCell === "J5") {
      var oldValue = e.oldValue;

      if (oldValue === undefined) {
        oldValue = '';
      }

      sheet.getRange("K5").setValue(oldValue);
    }
  }
}

上面的脚本是为了检查 J5 是否被编辑。如果进行编辑,其先前值将更新为 K5。然而,由于J5有公式,所以不起作用。

有解决方法吗?

google-sheets google-apps-script triggers google-sheets-formula
1个回答
0
投票

如果您的 J5 有依赖公式,请设置 onEdit 函数来检查先前单元格或范围的更改。

即如果J5中的公式为=A1,

function onEdit(e){
  if(e.range.rowStart === 1 && e.range.columnStart === 1){
    // do something
  } else {
    // do nothing
  }

}
© www.soinside.com 2019 - 2024. All rights reserved.