![](/img/trans.png)
[英]Google Sheet - Copy Rows from Multiple Sheets into a Single Summary Sheet
[英]How to copy multiple rows from multiple sheets to paste into one sheet
我正在嘗試將 XLE、XLF、XLU、XLI 和向下的行 A3:M 粘貼到工作表日歷中。
下面的代碼非常適合粘貼 XLE A3:M,但我不知道如何對其他工作表和 append 粘貼先前數據末尾的數據進行相同操作。
下面是代碼:
function copyRowsWithSetValues() {
const id = '113-_bKJT9GkbXBGmB3sOQYhNMrAdQ2xx_oPmAPJrxHA';
const spreadsheet = SpreadsheetApp.openById(id);
const XLE = spreadsheet.getSheetByName('XLE');
const XLF = spreadsheet.getSheetByName('XLF');
const XLU = spreadsheet.getSheetByName('XLU');
const XLI = spreadsheet.getSheetByName('XLI');
const XLK = spreadsheet.getSheetByName('XLK');
const XLV = spreadsheet.getSheetByName('XLV');
const XLY = spreadsheet.getSheetByName('XLY');
const XLP = spreadsheet.getSheetByName('XLP');
const XLC = spreadsheet.getSheetByName('XLC');
const XLB = spreadsheet.getSheetByName('XLB');
const XLRE = spreadsheet.getSheetByName('XLRE');
const COUNTRY = spreadsheet.getSheetByName('COUNTRY');
const Calendar = spreadsheet.getSheetByName('Calendar');
var lastRow = Calendar.getLastRow();
var lastColumn = Calendar.getLastColumn();
var range_to_copy = XLE.getRange("A3:M");
var range_to_paste = Calendar.getRange(lastRow + 1, 2);
range_to_copy.copyTo(range_to_paste, SpreadsheetApp.CopyPasteType.PASTE_FORMAT);
}
我想我可以使用以下代碼從每張表中復制數據: var range_to_copy = XLE.getRange("XLE:A3,M: XLF,A3:M; XLU.A3:M"); 然后將其粘貼到主表日歷中。
Try is this way
function copyRows() {
const ss = SpreadsheetApp.openById("id");
const shts = ['XLE','XLF','XLU','XLI','XLK','XLV','XLY','XLP','XLC','XLB','XLRE'];
const cal = ss.getSheetByName('Calendar');
shts.forEach((n,i) => {
let sh = ss.getSheetByName(n);
let src = sh.getRange("A3:M" + sh.getLastRow());
let des = cal.getRange(cal.getLastRow() + 1,2);
src.copyTo(des, SpreadsheetApp.CopyPasteType.PASTE_FORMAT);
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.