Помогите пожалуйста. Не могу написать пользовательскую короткую функцию, которая бы подгружала выбираемый диапазон в опцию Проверка данных - список.
В окне Источник (Проверка данных - опция список) можно руками вбить формулу, которая бы подгружала нужный список в зависимости от содержимого в другой ячейке, напирмер: есть категории фрукты, полуфабрикаты, хлеб, овощи. Забиваем эти значения в столбец в excel на одном листе. Далее каждой категории соответствует свой набор товаров, их тоже забиваем в столбцы, например для категории фрукты, это яблоки, гружи, киви, апельсины этот список задаем на этом же листе для каждой категории.
На другом листе в определенной ячейке (напри. А1) нужно выбрать только категории(Делаем-проверка данных и выбираем этот список на первом листе). А в ячейке А2, к примеру в зависимости от категории нужно чтобы также в Проверке данных подгружался конкретный список, характерный для этой категории. К примеру если в А1 выбираем категорию фрукты, то в А2 возникал список (яблоки, груши, киви, апельсины) если в А1 выбираем категорию овощи то в А2 возникал список выбора (огурцы, помидоры, картошка).
Это в принципе можно сделать если сначала в какой то ячейке записать формулу с ЕСЛИ, а затем ее скопировать в А2 в окно ИСТОЧНИК Проверка данных - список И я это сделал (смотри прикрепленный файл в 2016 excel).
Проблема в том, что если категорий много, то формула получается нереально большой, а размер поля ИСТОЧНИК ограничен по размеру символов и такая формула просто туда не влезает
Задача в том чтобы написать короткую функцию на VBA для того чтобы можно было подгружать большое количество категорий.
Типа =ДИАПАЗОН(КАТЕГОРИЯ)
Загвоздка в том, что я не знаю как сделать чтобы эта функция возвращала диапазон данных, который должен подгружаться, я пытался это сделать но кроме Range().Adress ни чего не смог придумать, она возвращает адрес а не диапазон. Короче ничего не выходит знаний маловото
Помогите кто силен в этом, в диапазонах. Прикрепляю файл там вроде все предельно ясно.
P.S. В F2 на листе 1, вбил формулу которая возвращает диапазон, затем я эту формулу копировал в ИСТОЧНИК.
Добрый день,
Помогите пожалуйста. Не могу написать пользовательскую короткую функцию, которая бы подгружала выбираемый диапазон в опцию Проверка данных - список.
В окне Источник (Проверка данных - опция список) можно руками вбить формулу, которая бы подгружала нужный список в зависимости от содержимого в другой ячейке, напирмер: есть категории фрукты, полуфабрикаты, хлеб, овощи. Забиваем эти значения в столбец в excel на одном листе. Далее каждой категории соответствует свой набор товаров, их тоже забиваем в столбцы, например для категории фрукты, это яблоки, гружи, киви, апельсины этот список задаем на этом же листе для каждой категории.
На другом листе в определенной ячейке (напри. А1) нужно выбрать только категории(Делаем-проверка данных и выбираем этот список на первом листе). А в ячейке А2, к примеру в зависимости от категории нужно чтобы также в Проверке данных подгружался конкретный список, характерный для этой категории. К примеру если в А1 выбираем категорию фрукты, то в А2 возникал список (яблоки, груши, киви, апельсины) если в А1 выбираем категорию овощи то в А2 возникал список выбора (огурцы, помидоры, картошка).
Это в принципе можно сделать если сначала в какой то ячейке записать формулу с ЕСЛИ, а затем ее скопировать в А2 в окно ИСТОЧНИК Проверка данных - список И я это сделал (смотри прикрепленный файл в 2016 excel).
Проблема в том, что если категорий много, то формула получается нереально большой, а размер поля ИСТОЧНИК ограничен по размеру символов и такая формула просто туда не влезает
Задача в том чтобы написать короткую функцию на VBA для того чтобы можно было подгружать большое количество категорий.
Типа =ДИАПАЗОН(КАТЕГОРИЯ)
Загвоздка в том, что я не знаю как сделать чтобы эта функция возвращала диапазон данных, который должен подгружаться, я пытался это сделать но кроме Range().Adress ни чего не смог придумать, она возвращает адрес а не диапазон. Короче ничего не выходит знаний маловото
Помогите кто силен в этом, в диапазонах. Прикрепляю файл там вроде все предельно ясно.
P.S. В F2 на листе 1, вбил формулу которая возвращает диапазон, затем я эту формулу копировал в ИСТОЧНИК.neonar
Спасибо, эта формула не очень подходит, т.к. в список подгружаются дополнительно пустые ячейки. Я думаю можно написать длинную формулу с вложенными ЕСЛИ(ЕСЛИ( , чтобы довести до идеала и задать имя также =список ??? Если конечно длина поля в именах не ограничена количеством вводимых символов
Спасибо, эта формула не очень подходит, т.к. в список подгружаются дополнительно пустые ячейки. Я думаю можно написать длинную формулу с вложенными ЕСЛИ(ЕСЛИ( , чтобы довести до идеала и задать имя также =список ??? Если конечно длина поля в именах не ограничена количеством вводимых символов neonar
Спасибо, все верно. Просто сейчас я подумал что не все параметры сказал. Реальная задача несколько сложней. Не хотел запаривать участников форума
В реальной задаче у меня категориях трубы стальные, чугунные, пластковые Для каждой категории есть условный диаметр, т.е. размер, например категория стальные трубы размеры 15, 20, 25, 32, 40 (это типа приблизительный диаметр) каждому размеру соответствует действительный диаметр и толщина стенки трубы например размеру 15 - 21,3 - 3
Другими словами, пользователь должен выбрать сначала материал трубы, затем excel подгружает в зависимости от материала размер 15,20 и т.д, пользователь выбирает его а потом еще с помощью ВПР у меня в 3 и 4 ячейке в соответствии с принятым размером трубы excel подтягивает реальный диаметр и толщину стенки, например
/стальные трубы / 15 / 21,3/ 3/
Спасибо, все верно. Просто сейчас я подумал что не все параметры сказал. Реальная задача несколько сложней. Не хотел запаривать участников форума
В реальной задаче у меня категориях трубы стальные, чугунные, пластковые Для каждой категории есть условный диаметр, т.е. размер, например категория стальные трубы размеры 15, 20, 25, 32, 40 (это типа приблизительный диаметр) каждому размеру соответствует действительный диаметр и толщина стенки трубы например размеру 15 - 21,3 - 3
Другими словами, пользователь должен выбрать сначала материал трубы, затем excel подгружает в зависимости от материала размер 15,20 и т.д, пользователь выбирает его а потом еще с помощью ВПР у меня в 3 и 4 ячейке в соответствии с принятым размером трубы excel подтягивает реальный диаметр и толщину стенки, например
Вот реальный пример, в оранжевых ячейках пользователь выбирает из выпадающих списков, которые подгружаются по условию. А белые ячейки заполняются с помощью ВПР по условию.
Вот реальный пример, в оранжевых ячейках пользователь выбирает из выпадающих списков, которые подгружаются по условию. А белые ячейки заполняются с помощью ВПР по условию.neonar
Посмотрите такой вариант. Данные отформатированы инструментом Вставка -- Таблица, поэтому можно добавлять снизу строки, они подтянуться в списки автоматически. Название таблиц соответствует материалам, только пришлось убирать лишние знаки (пробелы, дефисы и звёздочки)
Посмотрите такой вариант. Данные отформатированы инструментом Вставка -- Таблица, поэтому можно добавлять снизу строки, они подтянуться в списки автоматически. Название таблиц соответствует материалам, только пришлось убирать лишние знаки (пробелы, дефисы и звёздочки)Pelena
Добрый день, немного "допилил" ваш способ. Чтобы не удалять запрещенные знаки в именах и умных таблицах - слишком длинная формула я сделал поле "Псевдоним" для каждого вида труб см. Лист1, а названиям таблиц с массивами труб - присваиваются имена псевдонимов. Имя таблицы вытаскиваю ВПР ом. Но почему-то если ввести формулу в столбец Ду и использовать в ней ВПР выдает ошибку. Не могу понять почему, формула такая:
Код
=ДВССЫЛ(ВПР(A14;Материал;2)&"[Dy]")
- в проверку данных выпадающий список.
Не подскажите где ошибка?? Файл приложил.
Добрый день, немного "допилил" ваш способ. Чтобы не удалять запрещенные знаки в именах и умных таблицах - слишком длинная формула я сделал поле "Псевдоним" для каждого вида труб см. Лист1, а названиям таблиц с массивами труб - присваиваются имена псевдонимов. Имя таблицы вытаскиваю ВПР ом. Но почему-то если ввести формулу в столбец Ду и использовать в ней ВПР выдает ошибку. Не могу понять почему, формула такая: