簡體   English   中英

如何從多張紙中復制多行以粘貼到一張紙中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM