Я довольно хорошо использую формулы с листами Google, чтобы выполнить значительный объем работы. Однако сейчас я обнаружил, что мне нужна система, которая «работает на кнопках», и сценарии - это то, над чем я только начинаю баловаться.
Я пытаюсь создать скрипт, который будет читать содержимое ячейки (D2) на листе с именем «Страница тестера» и дублировать ячейку D2 на отдельном листе в том же документе. После копирования мне понадобится очистить лист B5: B16 и D5: d16 на странице «Тестер». Данные в этих двух диапазонах выбираются из раскрывающихся меню с использованием проверки данных.
Последний кикер - это то, что его нужно активировать кнопкой.
Итак, в моих первых попытках я сейчас пытаюсь скопировать данные из ячейки D2 и просто добавить их внизу страницы. Не работает Любая помощь на этом или других этапах будет огромной. Вот что у меня есть:
function addProduct() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Tester Page');
var value = sheet.getRange(2,4)
sheet.appendRow(value);
}
Редактировать
Итак, я запустил скрипт (в том числе с помощью нажимаемой кнопки). Все шло хорошо, пока мы не решили внести некоторые изменения в работу страницы. Вместо того, чтобы копировать содержимое 1 ячейки на вторую страницу (называемую «Транзакции»), мы решили, что хотим получить всю строку данных (строка 22). Я добавил свой скрипт, как он есть сейчас, который будет копировать одну ячейку 20 раз ... а не строку из 20 столбцов. Я действительно хотел бы весь ряд, а не только 20 столбцов, но не могу понять это.
function mainThing() {
//get content
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Tester Page');
var cell = sheet.getRange(22,1).getValues();
//copy content
var destination = ss.getSheetByName('Transactions');//whatever page
var destCell = destination.getRange(2, 1, 1, 20)
destCell.setValue(cell);
//Add clean row
var add = ss.getSheetByName('Transactions')
add.insertRowBefore(2)
Еще раз спасибо за помощь. Вы, ребята, потрясающие.