Google sheets 调用CopyValueStorRange方法两次
我想把一些列复制到另一张图纸上。当我两次调用CopyValueStorRange方法时,一个在工作,而另一个不工作Google sheets 调用CopyValueStorRange方法两次,google-sheets,google-apps-script,Google Sheets,Google Apps Script,我想把一些列复制到另一张图纸上。当我两次调用CopyValueStorRange方法时,一个在工作,而另一个不工作 function myFunction() { var s = SpreadsheetApp.getActiveSpreadsheet(); var target = SpreadsheetApp.openById("f3y53y54y45h45jh454"); var target_sheet = target.getSheetByName("Sheet2"
function myFunction() {
var s = SpreadsheetApp.getActiveSpreadsheet();
var target = SpreadsheetApp.openById("f3y53y54y45h45jh454");
var target_sheet = target.getSheetByName("Sheet2");
var sheet = s.getSheetByName("Sheet1");
var sheet_last_row = sheet.getLastRow() + 1;
var source_range = sheet.getRange("B1:H"+sheet_last_row);
var source_range2 = sheet.getRange("K1:P"+sheet_last_row);
var sWidth=source_range.getWidth() + 1;
var sHeight=source_range.getHeight() + 1;
var sWidth2=source_range2.getWidth() + 1;
var sHeight2=source_range2.getHeight() + 1;
var last_row=target_sheet.getLastRow();
source_range.copyValuesToRange(target_sheet , 1, sWidth, last_row + 1, last_row + sHeight );
source_range2.copyValuesToRange(target_sheet , 8, sWidth2, last_row + 1, last_row + sHeight2 );
}
如何解决此问题,或者是否存在将单元格复制到另一张工作表的其他解决方案。通过sWidth2将第二个范围的宽度从起点移动到(第一个范围的终点+1),因为它应该是目标范围右边框的列号:
source_range2.copyValuesToRange(target_sheet , sWidth1+1, sWidth1+1+sWidth2, last_row + 1, last_row + sHeight2 );
如果注释掉第一个CopyValueStorRange,第二个是否正常工作?sWidth2应为+8,因为要将第二个范围向右移动。也许您还希望将8替换为sWidth+1,以使其更加健壮。