Я использую код для переноса скопированных данных с одного листа на другой в листах Google. К сожалению, у меня возникли проблемы, поскольку на другом листе, куда я вставляю другие значения, есть формула в каком-то столбце. вместо того, чтобы быть установленным в следующей возможной доступной строке, «A2» сводится к «A152».
Вот код, который я сейчас использую:
function submit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formSS = ss.getSheetByName("Form");
var mastersheet = ss.getSheetByName("Dump");
var values = [[formSS.getRange("F10").getValue(),
formSS.getRange("C7"),getValue(),
formSS.getRange("C8"),getValue(),]];
mastersheet.getRange(matersheet.getLastRow()+1,1,1,3).setValues(values)
}
Ваша помощь будет оценена!
1 ответ
Чтобы ваш код работал, вы должны использовать это:
function submit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formSS = ss.getSheetByName("Form");
var mastersheet = ss.getSheetByName("Dump");
var values = [formSS.getRange("F10").getValue(),
formSS.getRange("C7").getValue(),
formSS.getRange("C8").getValue()];
mastersheet.appendRow(values);
}
Вы должны использовать метод .appendRow()
, но вам не нужно передавать список как двумерный массив. Также были некоторые опечатки, которые я исправил в предоставленном вами фрагменте кода.
Кроме того, вы можете проверить эту ссылку для получения дополнительной информации:
Похожие вопросы
Новые вопросы
google-apps-script
Используйте для вопросов о Google Apps Script, серверной платформе Google для облачных сценариев на основе Javascript для автоматизации задач в продуктах Google и сторонних службах. Используйте в дополнение к релевантным тегам продукта (например, [google-sheets], [google-docs]) или API (например, [google-drive-api]), где это применимо.
appendRow ()
метод:masterSheet.appendRow([F10, C7, C8, "=1+2"])