У меня есть электронная таблица с количеством листов X (количество листов будет постоянно меняться).Формат данных на каждом листе одинаков.Я хочу создать макрос для активации каждого листа в электронной таблице и извлечения данных из определенных ячеек на новый лист (по сути, я объединяю информацию с каждого листа в одном месте).Я вижу, как активировать лист, используя 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;
Любые советы будут с благодарностью!