Страницы: 1
RSS
Выпадающий список в зависимости от значения ячейки
 
Добрый день, уважаемые знатоки.
Не могу решить проблему, есть таблица, обычная база данных, допустим, Наименование организации и адрес, однако адрес представляет собой список с проверкой данных. Нужно сделать так, что бы при выборе организации из выпадающего списка в соседней ячейке появлялся выпадающий список с адресами этой организации.
ВПР и ИНДЕКС тут вряд ли поможет, с ДВССЫЛ тоже пытался потерпел неудачу, очень хотелось бы обойтись без VBA, однако это я тоже пытался сделать путем полного копирования ячейки, но я не очень силен в VBA.
Гуглил, но ничего похожего не нашел, кроме темы тут ссылка, правда там предлагают делать большую таблицу с кучей ненужных данных.
Уже с неделю пытаюсь найти решение, помогите пожалуйста, буду очень благодарен.

Прикрепляю файл, думаю, там понятно объяснил.
 
Цитата
BloOmer написал:
выпадающий список с адресами этой организации.
Поясните на примере, у Вас всего один адрес.
По вопросам из тем форума, личку не читаю.
 
Ну там в других несколько адресов, я сделал разные, что бы проверить, как себя он будет вести с 1 адресом и с несколькими.
 
BloOmer, BloOmer,  может это? так как из примера ничего не понятно.
Не бойтесь совершенства. Вам его не достичь.
 
Мда, теперь понятно. Сперва создаем сложности потом их преодолеваем. BloOmer, Сделаете нормальный справочник, только не надо называть его лишней таблицей и все получится с использованием ссылки из #4.
По вопросам из тем форума, личку не читаю.
 
Цитата
Mershik написал:
BloOmer ,  BloOmer ,  может  это?  так как из примера ничего не понятно.
Ну там то же самое, что и в теме, которую я указал в начале
попробую по-другому объяснить, допустим

=ИНДЕКС(address[Адрес];ПОИСКПОЗ(A10;address[Наименование];0))

возвращает значение ячейки, а мне нужно, что б возвращал список из этой ячейки
тоесть, когда я в А10 меняю организацию на ООО Пес, в соседней ячейке появляется список из г. Москва; г. Рязань; г. Симферополь; г. Казань
 
BloOmer, т.е. не выпадающий список а конкретно в одной ячейке все города прописаны?
Не бойтесь совершенства. Вам его не достичь.
 
ну нет) сейчас все запутаемся. просто представьте себе, как будто идет тот же ИНДЕКС и ПОИСКПОЗ, только возвращается не значение ячейки, а она полностью, как бы копируется, с возможностью выбора значения.

Цитата
Mershik написал: может  это?
У меня в рабочем варианте будет таблица с реквизитами разных организаций, включая номера договоров и тд и тп, но у некоторых несколько почтовых адресов.
Я не делаю несколько строк одной и той же организации с разными почтовыми адресами, а в одной строчке просто создаю список.
Потом при выборе организации, куда мы поставляем товар, в соседней ячейке должен быть выбор почтового адреса.
просто это грамотно и не нужно забивать базу данных реквизитов лишними строчками.
 
BloOmer, ну так я ссылку вам дал - это называется зависимый выпадающий список. а если это не подходит то видимо Вам нужен все таки макрос который как и ВПР будет подтягивать не только значение но и формат(выпадающий список)
Изменено: Mershik - 19.08.2019 12:17:14
Не бойтесь совершенства. Вам его не достичь.
 
Надо было сразу вот этот рисунок отправить)
Изменено: BloOmer - 19.08.2019 12:23:21
 
Цитата
BloOmer написал:
просто это грамотно и не нужно забивать базу данных реквизитов лишними строчками.
Очень спорное утверждение!
Причем вы же сами в эту самую спорность и утыкаетесь с данной теме. Был бы именно правильный справочник, не было бы и проблемы.
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
Очень спорное утверждение!
Почему, допустим у меня 30 контрактов, 30 строк, но если у одной фирмы 20 почтовых адресов, мне придется добавлять 20 одинаковых строк с разными адресами, и в выпадающем списке выбора организации будет 20 одинаковых, то есть нужно потом махинировать, что бы от него избавляться и оставить один, а это та еще морока, так что оба пути сложные, но грамотнее мой вариант и это только мое мнение.
 
Цитата
BloOmer написал:
грамотнее мой вариант
- Тут очень много "грамотных" копателей спецов обломались, начиная копать в ту сторону в которую не нужно.

Смотрите пример со справочником, но без лишних строк, раз уж они вам так не нравятся. Правда теперь вам не будут нравится лишние столбцы :-).
Изменено: БМВ - 19.08.2019 12:53:29
По вопросам из тем форума, личку не читаю.
 
Ну вот допустим есть такой код, который просто копирует ячейку в другую, как бы в него ИНДЕКС или ВПР запихнуть?
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B5")) Is Nothing Then
        With Sheets("sht1")
            Target.Copy .Cells(10, 2)
        End With
    End If
End Sub
 
В модуль листа.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("A10")) Is Nothing Then
        Range("address[Наименование]").Find(Target).Offset(, 1).Copy Target.Offset(, 1)
    End If
    
End Sub
 
В подробности не вдавался, но вот тут решали что-похожее по названию вашей темы
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Sceptic, просто обалдеть, как просто это решилось через FindTarget, теперь чувствую себя глупо) Спасибо большое за помощь, проблема решена!
Страницы: 1
Наверх