СМОТРИТЕ НАСТОЯЩИЙ ПРИМЕР ЗДЕСЬ
Ситуация: проверка данных в ячейках, которые ссылаются на диапазон посредством прямой ссылки (A1Notation), и проверка данных в других ячейках, которые ссылаются на именованный диапазон.
Работает оба.
При дублировании листа оба продолжают работать.Однако при сбросе проверок данных вручную в те же диапазоны или с помощью моего сценария проверка данных ячейки, к которой относится проверка данных через именованный диапазон, не будет работать, и нет никакой возможности установить ее заново, ссылаясь через именованный диапазон либовручную или путем копирования (.getDataValidation / .setDataValidation) с помощью сценария.
Посмотрите пример - запустите функцию сценария cp_dataValidation () на Листе 1 и Копии Листа1 в качестве активного листа.Затем щелкните раскрывающиеся списки проверки данных в ячейках.
В конечном итоге моя цель - выполнить копию проверки данных (ссылаясь на именованный диапазон) из одного диапазона в другой на дублированном листе с помощью сценария.
function cp_dataValidation() {
var sheet = SpreadsheetApp.getActiveSheet()
//cell with data validation referring to a named range
var named_range_tmpl = sheet.getRange("B2");
//cell with data validation referring to a range via A1Notation
var range_tmpl = sheet.getRange("C2");
//target cells to copy dataValidation to
var nr_target = sheet.getRange("D2");
var r_target = sheet.getRange("E2");
nr_target.setDataValidation(named_range_tmpl.getDataValidation());
r_target.setDataValidation(range_tmpl.getDataValidation());
Logger.log(JSON.stringify(named_range_tmpl.getDataValidation(), null, 2));
Logger.log(JSON.stringify(range_tmpl.getDataValidation(), null, 2));
}