![](/img/trans.png)
[英]Google sheets script - copy varying data from one sheet to another in same spreadsheet
[英]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.