Для создания триггера, который будет запускать макрос при изменении конкретной ячейки ("A1") на определенном листе ("Sheet1"), вам нужно сделать следующее:
1. Вам нужно заменить ваш текущий макрос на функцию, которая будет работать в связке с триггерами.
2. Создать функцию, которая будет проверять, изменилось ли значение в ячейке "A1" на листе "Sheet1".
3. Использовать триггер "onEdit", который срабатывает каждый раз при редактировании таблицы.
Вот пример кода, который выполняет эту задачу:
```javascript
function onEdit(e) {
// Получаем информацию о событии редактирования
var range = e.range;
var sheet = range.getSheet();
// Проверяем, изменена ли ячейка "A1" на листе "Sheet1"
if (sheet.getName() === "Sheet1" && range.getA1Notation() === "A1") {
addRowAbove(); // Вызываем функцию для добавления строки
}
}
function addRowAbove() {
var spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.getActiveSheet();
// Добавляем строку перед второй строкой
sheet.insertRowBefore(2);
}
```
### Пошаговое руководство
1. Откройте Google Sheets и перейдите в `Расширения` -> `Apps Script`.
2. Удалите весь существующий код в редакторе и вставьте приведенный выше код.
3. Нажмите на значок диска, чтобы сохранить проект.
4. Теперь, если вы измените значение в ячейке "A1" на листе "Sheet1", будет вызвана функция `addRowAbove`, которая добавит новую строку перед второй строкой.
### Заметки:
- Не забудьте проверить, что ваш триггер работает. Вы можете изменить ячейку "A1", чтобы убедиться, что строка добавляется.
- Этот триггер будет работать только для редактирования вручную; если вы программно изменяете значение ячейки "A1", триггер "onEdit" не сработает.