Добрый день, уважаемые! Извините, что прошу помощи по совершенно другому инструменту, но думаю Ваших знаний должно быть достаточно, чтобы мне помочь. Есть документ Гугл Таблиц, в нем написан скрипт, который при выборе выпадающего списка в столбце "А" на листе "Выход", где в качестве значений из диапазона выбран именованный диапазон "ОСНОВНАЯ", в столбце "В" выводит выпадающий список с соответствующим именованным диапазоном, выбранным в столбце "А". Мне Оооочень нужна Ваша помощь сделать так, чтобы диапазоны были зафиксированы и предопределены. Выводить список из именованного диапазона "ОСНОВНАЯ" в ячейке "А17", а зависимый список с соответствующим именованным диапазоном был в "А19". Пожалуйста, не откажите в помощи! Ссылка на файл с доступом на редактирование: Ссылка Текст скрипта:
Код
function depDrop_(range, sourceRange){
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(sourceRange, true).build();
range.setDataValidation(rule);
}
function onEdit (){
var aCell = SpreadsheetApp.getActiveSheet().getActiveCell();
var aColumn = aCell.getColumn();
if (aColumn == 1 && aCell.getValue() == "") {
var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
range.clearDataValidations();
range.clearContent();
return;
}
if (aColumn == 1 && SpreadsheetApp.getActiveSheet()){
var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue());
depDrop_(range, sourceRange);
}
}
function depDrop_(range, sourceRange){
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(sourceRange, true).build();
range.setDataValidation(rule);
}
function onEdit (e){
var A1Notation=e.range.getA1Notation();
if ( A1Notation=='A17'){
var range = e.range.offset(1, 0);
range.clearDataValidations();
range.clearContent();
var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(e.range.getValue().replace(' ',''));
depDrop_(range, sourceRange);
}
}