谷歌表格-循环通过表格合并数据



我在谷歌中寻找一些关于循环浏览工作表的帮助。

场景-我有大约20个选项卡,所有选项卡都有相同的布局,我需要从所有选项卡中收集信息,并将其放入一个主页中。数据从第2行(标题)开始,长度可变(如果需要,结束列为"Z"列)

该代码可以创建一个新的选项卡来放置所有数据,也可以创建特定的选项卡

(可能需要考虑到我不需要包括一些表格-我可以定义这些)

在excel中创建新选项卡(调用摘要)循环浏览选项卡如果选项卡名称不在我的例外列表中,则复制工作表上的范围(动态范围)将范围放在"摘要"选项卡上的下一个可用行重复直到完成

感谢的任何帮助

如果其他人有类似的问题,我设法自己编写了一些代码(可能不是最快的,但它能完成任务)

<代码>

function LoopSheetsMergeData(){
var ss = SpreadsheetApp.getActive();
var allsheets = ss.getSheets();
var destsheet = ss.getSheetByName("Summary");//MasterSheet To Merge To
var StartRow = 4//StartRow on all tabs
var StartCol = 1//AllData starts in Column 1  
var EndCol = 26//End Column of all data  
for (var s in allsheets){
var sheet=allsheets[s]
if (sheet.getName() == "Summary") //Disregard certain tabs
{      
}
else
{    
var EndRow = sheet.getLastRow();
var copyRng = sheet.getRange(StartRow,StartCol,EndRow,EndCol);
var destlastRow = destsheet.getLastRow();
var nextRow = destlastRow +1 
var shtname = sheet.getName(); 
copyRng.copyTo(destsheet.getRange(nextRow,2));//Row and Column of where to paste the information  
var newLastRow = destsheet.getLastRow();//New last Row after pasting the data
destsheet.getRange(nextRow,1,newLastRow,1).setValue(shtname&&newLastRow);//Insert into column 1 for each row copied the name of the sheet it came from      
}
}//end of  sheets loop.
}// end of function...

最新更新