Добрый день, уважаемые знатоки. Не могу решить проблему, есть таблица, обычная база данных, допустим, Наименование организации и адрес, однако адрес представляет собой список с проверкой данных. Нужно сделать так, что бы при выборе организации из выпадающего списка в соседней ячейке появлялся выпадающий список с адресами этой организации. ВПР и ИНДЕКС тут вряд ли поможет, с ДВССЫЛ тоже пытался потерпел неудачу, очень хотелось бы обойтись без VBA, однако это я тоже пытался сделать путем полного копирования ячейки, но я не очень силен в VBA. Гуглил, но ничего похожего не нашел, кроме темы тут ссылка, правда там предлагают делать большую таблицу с кучей ненужных данных. Уже с неделю пытаюсь найти решение, помогите пожалуйста, буду очень благодарен.
Мда, теперь понятно. Сперва создаем сложности потом их преодолеваем. BloOmer, Сделаете нормальный справочник, только не надо называть его лишней таблицей и все получится с использованием ссылки из #4.
возвращает значение ячейки, а мне нужно, что б возвращал список из этой ячейки тоесть, когда я в А10 меняю организацию на ООО Пес, в соседней ячейке появляется список из г. Москва; г. Рязань; г. Симферополь; г. Казань
ну нет) сейчас все запутаемся. просто представьте себе, как будто идет тот же ИНДЕКС и ПОИСКПОЗ, только возвращается не значение ячейки, а она полностью, как бы копируется, с возможностью выбора значения.
У меня в рабочем варианте будет таблица с реквизитами разных организаций, включая номера договоров и тд и тп, но у некоторых несколько почтовых адресов. Я не делаю несколько строк одной и той же организации с разными почтовыми адресами, а в одной строчке просто создаю список. Потом при выборе организации, куда мы поставляем товар, в соседней ячейке должен быть выбор почтового адреса. просто это грамотно и не нужно забивать базу данных реквизитов лишними строчками.
BloOmer, ну так я ссылку вам дал - это называется зависимый выпадающий список. а если это не подходит то видимо Вам нужен все таки макрос который как и ВПР будет подтягивать не только значение но и формат(выпадающий список)
BloOmer написал: просто это грамотно и не нужно забивать базу данных реквизитов лишними строчками.
Очень спорное утверждение! Причем вы же сами в эту самую спорность и утыкаетесь с данной теме. Был бы именно правильный справочник, не было бы и проблемы.
Почему, допустим у меня 30 контрактов, 30 строк, но если у одной фирмы 20 почтовых адресов, мне придется добавлять 20 одинаковых строк с разными адресами, и в выпадающем списке выбора организации будет 20 одинаковых, то есть нужно потом махинировать, что бы от него избавляться и оставить один, а это та еще морока, так что оба пути сложные, но грамотнее мой вариант и это только мое мнение.
Ну вот допустим есть такой код, который просто копирует ячейку в другую, как бы в него ИНДЕКС или ВПР запихнуть?
Код
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
В подробности не вдавался, но вот тут решали что-похожее по названию вашей темы
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄