
[英]Copy row if value exists in both sheet 1 and sheet 2 and paste it to sheet 3. Google Sheets. Google Apps Script
[英]Copy fro Sheet A to paste in Sheet B's last row google app script
我只是想学习 javascript 和谷歌应用脚本 2-3 周。
我正在从工作表 A 复制从 11 到 200 的整个范围。然后我需要将复制的数据粘贴到工作表 B 的最后一行。
我在这里做了一个有错误的代码。
function CopyandPasteToB() {
var app = SpreadsheetApp;
var spreadsheet = SpreadsheetApp.getActive();
var ss = app.getActiveSpreadsheet();
var mysheet = ss.getSheetByName('B')
//copy data from origin sheet
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('A'), true);
spreadsheet.getRange('11:100').activate();
// Last non-empty row
var rlast = mysheet.getLastRow();
Logger.log("Last row = " + rlast);
// Insert into last row in OP
mysheet.insertRows(rlast+1);
var r = rlast+1;
spreadsheet.getRange('\'WP1\'!11:100').copyTo(mysheet.getLastRow() +1);
};
我收到异常错误:参数(数字)与 SpreadsheetApp.Range.copyTo 的方法签名不匹配。
除了我得到的错误之外,您认为我的代码可以改进吗?我是否在正确的方向上实现我的目标?
所以我想问一下我 go 如何工作?
非常感谢你。
activate
Sheets 和 Ranges 即可对其进行处理,因此您的代码可以得到简化。function CopyandPasteToB() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var mysheet = ss.getSheetByName('B');
var sourceSheet = ss.getSheetByName('A');
var sourceRange = sourceSheet.getRange("11:100");
var rlast = mysheet.getLastRow();
if (rlast === mysheet.getMaxRows()) mysheet.insertRowsAfter(rlast, 1); // Avoid error if last row with content is last row of the sheet
var destRange = mysheet.getRange(rlast + 1, 1);
sourceRange.copyTo(destRange);
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.