Страницы: 1
RSS
Зависимые списки в Combobox (VBA)
 
Добрый день, уважаемые форумчане!
Суть проблемы: Есть сводный перечень, в котором наименования (столбец C) принадлежат разным объектам (столбец B), необходимо сделать так, чтобы в Combobox1 для выбора выдавался перечень объектов (сейчас я это сделал  при помощи AddItem), а в Combobox2 перечень наименований, соответсвующий выбранному объекту.
Для понимания работы желаемого - сделал табличку в фиолетовой рамке на листе "Выбор".
Для вызова формы - добавил большую красную кнопку.  
Подскажите, пожалуйста, каким образом можно сделать зависимые Combobox в форме VBA?
С уважением, Dost1369.
 
Как вариант менять свойство RowSource второго комбобокса, в зависимости от значения в Combobox1. Туда можно передавать диапазон с листа.
 
Цитата
Gauss написал:
Как вариант менять свойство RowSource второго комбобокса
Добавил в код
Код
Private Sub UserForm_Initialize()
ComboBox2.RowSource = Sheets("Выбор").Range("c4:c5").Value
End Sub
Вылезает ошибка 424, в чем может быть проблема?
 
Тут тип строка, поэтому присваивать надо "Выбор!C4:C5"
 
Цитата
Gauss написал:
Тут тип строка, поэтому присваивать надо "Выбор!C4:C5"
Присвоил:
Код
ComboBox2.RowSource = "Выбор!C4:C5"
Опять выдает эту ошибку.
 
Будьте внимательнее, глянул на файл:
у Вас, во-первых, ComboBox3 (а не 2)
во-вторых, данные не на листе "Выбор", а на листе "Перечень"
 
 
Цитата
Gauss написал:
у Вас, во-первых, ComboBox3 (а не 2)
8-0 Прошу прощения, и правда, второй ComboBox кто-то упер, оставив мне третий.  :oops:
Цитата
Gauss написал:
Туда можно передавать диапазон с листа.
Как передать диапазон с листа вроде понял, но как саму зависимость оформить не могу понять.
Формулами было бы проще: ЕСЛИ(...;...;...), но как указать это в VBA не доходит.
 
Может так. :D  
 
Logistic, прошу прощения за поздний ответ, был в отъезде.
Применил Ваш код к своему файлу, все работает как задумано.
Большое спасибо! :)
С уважением, Dost1369
Страницы: 1
Наверх