Добрый день, уважаемые! Есть документ Гугл Таблиц, в нем написан скрипт, который при выборе выпадающего списка в столбце "А" на листе "Выход", где в качестве значений из диапазона выбран именованный диапазон "ОСНОВНАЯ", в столбце "В" выводит выпадающий список с соответствующим именованным диапазоном, выбранным в столбце "А". Мне Оооочень нужна Ваша помощь сделать так, чтобы диапазоны были зафиксированы и предопределены. Выводить список из именованного диапазона "ОСНОВНАЯ" в ячейке "А17", а зависимый список с соответствующим именованным диапазоном был в "А19". Пожалуйста, не откажите в помощи! Ссылка на файл с доступом на редактирование: Ссылка [vba]
Код
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); } }
[/vba]
Добрый день, уважаемые! Есть документ Гугл Таблиц, в нем написан скрипт, который при выборе выпадающего списка в столбце "А" на листе "Выход", где в качестве значений из диапазона выбран именованный диапазон "ОСНОВНАЯ", в столбце "В" выводит выпадающий список с соответствующим именованным диапазоном, выбранным в столбце "А". Мне Оооочень нужна Ваша помощь сделать так, чтобы диапазоны были зафиксированы и предопределены. Выводить список из именованного диапазона "ОСНОВНАЯ" в ячейке "А17", а зависимый список с соответствующим именованным диапазоном был в "А19". Пожалуйста, не откажите в помощи! Ссылка на файл с доступом на редактирование: Ссылка [vba]
Код
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); } }
Добрый. Не на редактирование, а на просмотр Вы дали доступ.Меняйте код сами. [vba]
Код
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); } }
[/vba]
Добрый. Не на редактирование, а на просмотр Вы дали доступ.Меняйте код сами. [vba]
Код
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); } }