簡體   English   中英

我需要將數據從3張紙復制到同一電子表格中的另一張主紙上

[英]I need to copy data from 3 sheets to another master sheet in same spreadsheet

我已經為此編寫了代碼,但出現錯誤

The coordinates or dimensions of the range are invalid. (line 44)

碼:

function updateMaster() {
var repArray  = new Array();
 var ss        = SpreadsheetApp.getActiveSpreadsheet();
 var allSheets = ss.getSheets();
 // build array of all sheets
 for (i in allSheets) {                              
   if ((allSheets[i].getName()).match(/.*?\-Rep$/))
      {repArray.push(allSheets[i].getName());}
 }

 // store all sheets in array
 var sheetArray = [];   
 // loop through all rep sheets                             
 for (var j in repArray) {       
   // get each sheet                    
   var tempSheet  = ss.getSheetByName(repArray[j]);  
       // get sheet data
   var dataRange  = tempSheet.getDataRange().getValues(); 
   // remove the first header row
   dataRange.splice(parseInt(0), 1);                 
       // append sheet data to array
   var sheetArray = sheetArray.concat(dataRange);    
 }

 // Time to update the master sheet
 var mSheet    = ss.getSheetByName("summary");        
 // save top header row
 var headerRow = mSheet.getRange(1,1,1,12).getValues(); 
 // clear the whole sheet
 mSheet.clear({contentsOnly:true});                 
 // put back the header row 
 mSheet.getRange(1, 1, 1, 12).setValues(headerRow); 

這是在寫入主表時出現錯誤的地方:

 // write to the Master sheet via the array 
 mSheet.getRange(2, 1, sheetArray.length, 12).setValues(sheetArray);
  // force spreadsheet updates
 SpreadsheetApp.flush();                   
 // pause (1,000 milliseconds = 1 second)          
 Utilities.sleep("200");                             

 // delete empty rows at bottom
 var last = mSheet.getLastRow();                     
 var max  = mSheet.getMaxRows();
 if (last !== max) {mSheet.deleteRows(last+1,max-last);}

}

我無法找出錯誤。

您需要一個名稱中帶有“ Rep”的工作表。

“第一個數組存儲所有銷售代表工作表。由於某些工作表可能不是銷售代表工作表,因此腳本僅在工作表名稱帶有后綴“ -Rep”(例如“ JohnDoe-Rep”)時存儲工作表”

代碼源: http : //blog.ditoweb.com/2012/01/consolidate-spreadsheet-sheets-with.html

這就是為什么它不起作用。

mSheet.getRange(2,1,sheetArray.length,12).setValues(sheetArray)

我遇到了同樣的問題,並按照“ Rep”解決方案解決了該問題。 然后,我遇到了另一個問題,並意識到我的列數是不同的......所以才回去,改變沒有12你在表包含的行數。

也請嘗試使所有工作表的格式保持相同。

重命名要合並數據的工作表

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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