Я не могу заставить выбранный диапазон перейти к первой пустой строке в столбце A на листе 1.
Я новичок в Google-App-Script и никогда раньше ничего не делал в Java, просто прочиталнекоторые учебники.Я пытаюсь автоматизировать некоторые лабораторные машины, чтобы возвращаемые ими данные попадали в основную рабочую книгу.
function macro (){ var s1 = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var range = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0].getRange('E16:F'); SpreadsheetApp.setActiveRange(range) var copy = s1.getRange('E16:F36').getValues(); var s2 = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1kXinBTHIhEf78AHe2zpSz6ugi1qgmd5WwqSg81IFrfk/edit?usp=drive_web&ouid=102308466606203090938') var column = s2.getRange('A:A'); var values = column.getValues(); var ct = 0; while ( values[ct][0] != "" ) ct++; var lastCell = s2.getRange('E16:F36'); var paste = s2.getRange('ct:B').setValues(copy); }
Я ожидаю, что код установит данные из исходной рабочей книги в первую пустую строку наосновная рабочая тетрадь в листе 1.
Использование appendRow
Добавляет строку в электронную таблицу. Эта операция атомарна; он предотвращает проблемы, когда пользователь запрашивает последнюю строку, а затем записывает в эту строку, и между получением последней строки и записью в нее возникает промежуточная мутация.
Необходимо использовать getLastRow() метод класса электронных таблиц
getLastRow()
var lastRow = s2.getLastRow(); var newStartRow = lastRow +1;
и затем добавьте 1 к нему, чтобы определить первую строку для вставки ваших данных.