Google apps script 如何创建Google脚本循环以激活和复制工作簿中每个选项卡的数据
我有一个电子表格,有X张表(表的数量将不断变化)。每张表中的数据格式相同。我想创建一个宏来激活电子表格中的每个工作表,并将特定单元格中的数据拉到一个新工作表中(本质上,我是将每个工作表中的信息合并到一个位置)。我了解了如何使用Google apps script 如何创建Google脚本循环以激活和复制工作簿中每个选项卡的数据,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个电子表格,有X张表(表的数量将不断变化)。每张表中的数据格式相同。我想创建一个宏来激活电子表格中的每个工作表,并将特定单元格中的数据拉到一个新工作表中(本质上,我是将每个工作表中的信息合并到一个位置)。我了解了如何使用getSheetByName()激活工作表,但是工作表的名称和数量会定期更改。我希望创建一个循环,可以执行以下操作: 激活第一张图纸 将数据从该工作表中的几个单元格复制到“仪表板”工作表中 激活下一页 将数据从该工作表中的几个单元格复制到“仪表板”工作表中 重复此操作,直到
getSheetByName()
激活工作表,但是工作表的名称和数量会定期更改。我希望创建一个循环,可以执行以下操作:
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A2').activate();
var nextSheetIndex = spreadsheet.getActiveSheet().getIndex() + 1;
if (nextSheetIndex > spreadsheet.getSheets().length) { nextSheetIndex = 1; }
spreadsheet.setActiveSheet(spreadsheet.getSheets()[nextSheetIndex - 1], true);
spreadsheet.getRange('A2').activate();
nextSheetIndex = spreadsheet.getActiveSheet().getIndex() + 1;
任何提示都将不胜感激 首先,您不需要激活
工作表
来执行更改。由于要迭代电子表格中的每个工作表
,请使用getSheets()
方法检索工作表
实例的数组
然后,使用您喜欢的循环(for
,for…in
,forEach()
,等等)在每个工作表上迭代,并在循环的每次迭代过程中,通过getRange(yourRangeReference).getValue()访问要从中提取数据的范围值
并将其复制到目标工作表
如果需要在迭代过程中检查并计算动态更改的工作表数量,请在每个迭代步骤上使用getNumSheets()
方法,如果其结果大于初始值,则访问然后push()
将此工作表推送到数组中
有用的链接
对于
循环(最简单的循环),打开李>
电子表格服务的电子表格应用程序
李>
开发商指南李>
这些都是非常有用的资源。我认为这个循环会很好地工作。非常感谢。很高兴我能帮上忙,快乐编码!:)