我的范围由3列和2(或更多)行组成。
中间一列包含一个公式:=TRANSPOSE(SPLIT(A1,","))
该脚本需要将该范围移动(剪切)到另一个工作表上,作为而不是公式。

google-apps-script是否可以执行“PasteSpecial-值”?

这是我当前正在使用的行:

sheet1.getRange("F1:H3").moveTo(sheet2.getRange("A1"));

谁能告诉我在这些值移到sheet2之前如何锁定它们?

(仅供参考:这仅需要代码解决方案)

最佳答案

作为替代方案,您可以使用copyTo() with advanced arguments仅复制值。要模拟moveTo()的效果,您仍然需要清除源范围。

另外,如果更简单,getRange()接受包含工作表名称的字符串引用。所以:

function moveValuesOnly() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var source = ss.getRange('Sheet1!F1:H3');
  source.copyTo(ss.getRange('Sheet2!A1'), {contentsOnly: true});
  source.clear();
}

08-17 14:12