Добавление, копирование и вставка в зависимости от переменной

29 views
Skip to first unread message

Victor Martyn

unread,
Sep 21, 2022, 5:57:00 AM9/21/22
to contributor.pw
Всем привет!

Меня зовут Виктор. Я только начал изучать скрипты. Тема интересная, но пока сложная для меня. Прошу сообщество помочь в реализации моих идей.

На данный момент я записал следующий макрос:
function Test() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('10:16').activate();
  spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 7);
  spreadsheet.getActiveRange().offset(0, 0, 7, spreadsheet.getActiveRange().getNumColumns()).activate();
  spreadsheet.getActiveSheet().getRowGroup(9, 1).expand();
  spreadsheet.getRange('10:10').activate();
  spreadsheet.getRange('2:8').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
};
Он создает определенное количество строк в определенном диапазоне. А затем такое же количество строк с данными, начиная со второй строки таблицы копирует и вставляет их значения во вновь созданные строки.

Помогите, пожалуйста, изменить этот скрипт, чтобы количество копируемых и вставляемых строк, а также место, куда эти строки вставляются, зависели от значения в ячейке C1. Копируемые данные всегда берутся из второй строки.

Сейчас макрос, скажем условно, привязан к числу 7: он вставляет пустые строки в диапазоне от 10 до 16 строк (7 строк). Копирует значения 7 строк, начиная со второй строки, и вставляет эти значения в сгенерированные строки.

И хотелось бы, чтобы скрипт учитывал значение ячейки C1 при выполнении этих операций. И если, например, С1 равно 10, то должны быть созданы новые пустые строки в диапазоне от 13 до 22 строк (10 строк), затем копируются 10 строк таблицы, начиная со второй строки, и эти строки вставляются в ранее созданные пустые строки.

Я понимаю, что введение переменной необходимо:
var N = spreadsheet.getRange('C1').getValue();
А вот как реализовать зависимость дальнейших шагов от этой переменной я никак не могу понять. Сердечно прошу помочь мне разобраться.

Ссылка на пример таблицы - https://docs.google.com/spreadsheets/d/170f0FC-pfXV7OoUlOxS-M7ZA_slC4e8j2oZJjEs47Xo/edit#gid=0

И второй вопрос:
Можно ли через скрипт организовать выбор значения из выпадающего списка, если часть значений в нем меняется, но есть и неизменная часть? То есть ячейка выпадающего списка содержит сегодняшнюю дату (эта часть меняется каждый день) и один из четырех вариантов времени (11:00, 14:00, 17:00 и 21:00) — эта часть не меняется. Можно ли в скрипте прописать, чтобы он выбирал в выпадающем списке значение, содержащее, например, "11:00"? Как это сделать?

Заранее благодарю за любую помощь!

Искренне,
Виктор
Reply all
Reply to author
Forward
0 new messages