如果单元格为空,则将单元格值恢复为特定公式

时间:2019-07-05 22:27:51

标签: google-apps-script google-sheets

Google表格/脚本: 我想这样做,这样Sheet1的整个范围(例如A1:H30)都被修改为:如果单个单元格为空,它将得到一个公式,例如= Sheet2!A1到= Sheet2!H30。但是,如果用户在单元格中放入一些内容,它将覆盖该单元格的公式为新值。

我已经读到,这对于具有旧值和新值的onedit(e)应该是一种情况,但是我不太了解实现部分。

非常感谢您的帮助。预先非常感谢。

1 个答案:

答案 0 :(得分:0)

function onEdit(e) {
  var sh=e.range.getSheet();
  //e.source.toast(' e.value: ' + e.value);
  if(sh.getName()!='Sheet4'){return;}
  if(e.range.rowStart<31 && e.range.columnStart<9 && !e.value) { //if in the range of A1:H30 and new value is blank
    var rg=sh.getRange(e.range.rowStart,e.range.columnStart); 
    rg.setFormula("=Sheet2!" + rg.getA1Notation());
    //e.source.toast('A1: ' + rg.getA1Notation() + ' e.value: ' + e.value);
  }  
}