我正在使用Google表格copyTo函数。单元格M2:P10中有一些公式正在从另一个工作表中计算值。我只是试图使用copyTo函数将值粘贴到另一张纸上,但是粘贴函数会导致空白输出。我无法弄清楚为什么这里的一切看起来都很好。帮助!
var id = "1I7Ptwg26W_WrLty9y7U-8c8kGKS9t8aw3SF-M2JwgJ1";
var ss2 = SpreadsheetApp.openById(id).getSheetByName('Converted Data');
var ss5 = SpreadsheetApp.openById(id).getSheetByName('PastedConverted');
ss2.getRange('M2:P10').activate();
ss2.getRange('M2:P10').copyTo(ss5.getRange("M2:P10"), {contentsOnly:true});
之前:
之后:
好吧,我不确定为什么这行得通,但是反之则不行,但是我想我会给你有用的东西:
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('MyPage'), true);
spreadsheet.getRange('M:AB').activate();
spreadsheet.getRange('\'MyPage\'!M:AB').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
尽管您已经发布了答案,但我认为解决问题的方法并不是最理想的方法。
仅说明方法copyTo()
的工作方式。
您有一个copyTo()
范围(要复制的范围),您可以在其中调用origin
和copyTo()
(要复制到的位置)作为输入参数。
target
另外,您可以添加更多选项来仅通过function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ss1 = ss.getSheets()[0];
var ss2 = ss.getSheets()[1];
var origin = ss1.getRange("A1:A5");
var target = ss2.getRange("A1:A5");
origin.copyTo(target);
}
复制所需的内容。