修改谷歌表格脚本以复制数值而非公式。

4
我需要修改下面的脚本,只将值复制到另一张工作表中,而不是公式。谢谢!

function onEdit(event) {
  // assumes source data in sheet named ClientList
  // target sheet of move to named CLOSED
  // test column with C is col 7 or G
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();

  if(s.getName() == "ClientList" && r.getColumn() == 7 && r.getDisplayValue() == "C1" || r.getDisplayValue() == "C2" || r.getDisplayValue() == "C3") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("CLOSED");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);
    s.deleteRow(row);
  }
}

1个回答

5
  • You want to copy only values without including the formulas.
    • Each cell including the formulas is copied as the calculated result.

To:

  • 您希望仅复制数值,而不包括公式。
    • 每个包含公式的单元格将被复制为计算结果。

如果我的理解是正确的,那么修改如下如何?

s.getRange(row, 1, 1, numColumns).copyTo(target);

To:

s.getRange(row, 1, 1, numColumns).copyTo(target, {contentsOnly: true});

参考资料:

如果我误解了您的问题,请告诉我。我会进行修改。


@Mark,我很高兴你的问题得到了解决。也谢谢你。 - Tanaike

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接