С помощью макроса я хочу скопировать данные с одного листа на другой. Цель сценария - распознать выбранный идентификатор проекта, установить фильтр на другом листе, чтобы копировались только строки с указанным c идентификатором проекта.
Я получаю сообщение об ошибке «Отсутствует» ; before оператор. (строка 49, файл "macros") "в строке 49.
Вот как выглядит мой скрипт прямо сейчас:
//Counting variable i
var i = 1;
//Array with all PID´s
var HideValues = [0,1];
var spreadsheet = SpreadsheetApp.getActive();
//Set active sheet to Visualization
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Visualization'), true);
//Variable with selected PID
var SelectedPID = SpreadsheetApp.getActiveSheet().getRange('C1').getValue();
//Set active sheet to PID
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('PID'), true);
//Variables with row and column to go through all PID´s
var row = 2;
var col = 1;
//Add all PID´s to an array
while (i < 500) {
HideValues.push(SpreadsheetApp.getActiveSheet().getRange(row, col ).getValue());
i++;
row++;
}
//Set active sheet to TEM Tool Data
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('TEM Tool Data'), true);
spreadsheet.getRange('\'TEM Tool Data\'!E1').activate();
var criteria = SpreadsheetApp.newFilterCriteria();
//Remove all PID´s from the filter
While (i<500){ //Line with the error message
.setHiddenValues([HideValues[i-1]])
.build();
i++;
}
//Add selected PID to the filter
.setVisibleValues([SelectedPID])
.build();
//Filter
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(5, criteria);
//Copy filtered area
spreadsheet.getRange('A2:I1386').activate();
//Set active sheet to Visualization
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Visualization'), true);
//Paste
spreadsheet.getRange('A5').activate();
spreadsheet.getRange('\'TEM Tool Data\'!A2:I1386').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getRange('J3').activate();
};