0

我已經寫了碼本,但得到的誤差我需要從3片的數據複製到另一個主片在同一個電子表格

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);} 

} 

我無法連接找出錯誤。任何幫助表示讚賞。我是新來的這個需要幫助儘快。

+0

第一猜您試圖刪除超出邊界,或無效的數字行,什麼是最後和最大的價值? – Terry 2012-08-14 07:47:02

+0

離開那個沒有給出任何錯誤的部分,它在mSheet.getRange(2,1,sheetArray.length,12).setValues(sheetArray);範圍的座標或尺寸無效。 – 2012-08-14 07:49:19

+0

你讓我感到困惑,說「這是我得到的錯誤」,然後把另一段代碼。現在,這更清晰了:您不必使用列數/行數來設置數據,只需使用具有行和列引用的範圍,如下所示:mSheet.getRange(1,1).setValues( headerRow); – Terry 2012-08-14 07:51:18

回答

0

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

我面臨着同樣的問題和通過跟隨 「REP」 溶液解決了。然後我遇到了另一個問題,並意識到我的列數是不同的......所以回去將no 12更改爲表格中的行數。

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

重命名錶,你想將數據結合

相關問題