Я изучил кодирование в google sheet через запись макросов. Мой код не работает, когда я играю. Вот как это должно работать. Запись в столбце E - дата. Когда я играю свой макрос, он добавляет 1
месяц к дате в столбце E
и вводит текущую дату в столбец F
.
Моя активная ячейка может быть где угодно. Я записал так:
- Я перемещаю активную ячейку в первый столбец строки
- Я сместил активную ячейку на
5
ячейки вправо
- создать формулу
=edate(R[0]C[-1],1)
скопировать значения и вставить в качестве значений в столбец E
- сделать столбец F активной ячейкой, ввести формулу ввода
=now()
скопировать значения и вставить как значения
Я уже два часа гуглю и не вижу ответа
function Test() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.PREVIOUS).activate();
spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.PREVIOUS).activate();
spreadsheet.getCurrentCell().offset(0, 5).activate();
spreadsheet.getCurrentCell().setFormulaR1C1('=edate(R[0]C[-1],1)');
spreadsheet.getCurrentCell().offset(0, -1).activate();
spreadsheet.getCurrentCell().offset(0, 1).copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.getCurrentCell().offset(0, 1).activate();
spreadsheet.getCurrentCell().setFormulaR1C1('=now()');
spreadsheet.getActiveRange().copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);