Доброго времени суток, Дамы и Господа! 1) Создан 2 выпадающих списка из элемента ActivX (Поле со списком) 2) В первом элементе надо занести список не из диапазона а руками в самом коде, (это будет имена диапазонов для второго элемента) 3) Получить зависимый список из первого элемента
Актуальность вопроса сохраняется если будут ответы на: 1) Возможно ли занести текст в элементе "поле со списком" вручную в самом коде (значений не брать из диапазонов) 2) как превратить содержимое ячейки A5 в именованный диапазон для второго элемента
Надеюсь сумел сформировать понятный вопрос
Доброго времени суток, Дамы и Господа! 1) Создан 2 выпадающих списка из элемента ActivX (Поле со списком) 2) В первом элементе надо занести список не из диапазона а руками в самом коде, (это будет имена диапазонов для второго элемента) 3) Получить зависимый список из первого элемента
Актуальность вопроса сохраняется если будут ответы на: 1) Возможно ли занести текст в элементе "поле со списком" вручную в самом коде (значений не брать из диапазонов) 2) как превратить содержимое ячейки A5 в именованный диапазон для второго элемента
Надеюсь сумел сформировать понятный вопрос Sobirjon
Попробуйте так (если я правильно понял вопрос) [vba]
Код
Private Sub ComboBox1_Change() With ComboBox2 .Clear If ComboBox1.Value = "Сушка_Верхняя_База" Then .List = Array("450мм, Siena, хром, AFF (Акция) СтА", _ "600мм, Siena, хром, AFF (Акция) СтА", _ "111", "222", "...") ElseIf ComboBox1.Value = "Сушка_Нижняя_База" Then .AddItem "Сушка выдвижная Vibo в модуль на 600мм" .AddItem "56226 Сушилка в нижнюю базу 600 мм CARMA, с доводчиком, хром" '... Else Exit Sub End If .Select End With End Sub
Private Sub ComboBox1_DropButtonClick() With ComboBox1 If .Value = "" Then .Clear .AddItem "Сушка_Верхняя_База" .AddItem "Сушка_Нижняя_База" End If End With End Sub
[/vba]
Попробуйте так (если я правильно понял вопрос) [vba]
Код
Private Sub ComboBox1_Change() With ComboBox2 .Clear If ComboBox1.Value = "Сушка_Верхняя_База" Then .List = Array("450мм, Siena, хром, AFF (Акция) СтА", _ "600мм, Siena, хром, AFF (Акция) СтА", _ "111", "222", "...") ElseIf ComboBox1.Value = "Сушка_Нижняя_База" Then .AddItem "Сушка выдвижная Vibo в модуль на 600мм" .AddItem "56226 Сушилка в нижнюю базу 600 мм CARMA, с доводчиком, хром" '... Else Exit Sub End If .Select End With End Sub
Private Sub ComboBox1_DropButtonClick() With ComboBox1 If .Value = "" Then .Clear .AddItem "Сушка_Верхняя_База" .AddItem "Сушка_Нижняя_База" End If End With End Sub
_Boroda_, Спасибо за отклик. Почти правильно. Если не совсем понятен вопрос, попробую с конкретным примером. Дале дам пояснения почему почти.... Вопрос был: 1) ComboBox1 имеет в своем "контейнере" записи которые мы вписываем в самом коде (макросе) при раскрытые списка должны выпасть списки: • Сушка_Верхняя_База (Это имя диапазона
Код
=Лист2!A2:C16
в файле примере уже создан) • Сушка_Нижняя_База (Это имя диапазона
Код
=Лист2!A18:C22
в файле примере уже создан) 2) ComboBox2 получает имя диапазона из ComboBox1 и формирует список относящийся выбранному имени диапазона в ComboBox1. Например, когда в ComboBox1 выбрали из списка Сушка_Верхняя_База, тогда список из диапазона
Код
=Лист2!A2:A16
, если ComboBox1 = Сушка_Нижняя_База. тогда список
Код
=Лист2!A18:A22
Ответ на почему "почти": 1) Когда открыл файл, на ComboBox1 при раскрытие списка, не удалось выбрать "Сушка_Верхняя_База". там только заполненное значение "Сушка_Нижняя_База". Изучая код понял что макрос срабатывает только тогда, когда он пустой. Чтобы выбрать "Сушка_Верхняя_База" надо очистить ComboBox1 это не всегда удобно 2)
ComboBox2 имеет значения в своем контейнере заполненный в коде список, а список должен сформироваться и именованного диапазона зависимый из ComboBox1
_Boroda_, Спасибо за отклик. Почти правильно. Если не совсем понятен вопрос, попробую с конкретным примером. Дале дам пояснения почему почти.... Вопрос был: 1) ComboBox1 имеет в своем "контейнере" записи которые мы вписываем в самом коде (макросе) при раскрытые списка должны выпасть списки: • Сушка_Верхняя_База (Это имя диапазона
Код
=Лист2!A2:C16
в файле примере уже создан) • Сушка_Нижняя_База (Это имя диапазона
Код
=Лист2!A18:C22
в файле примере уже создан) 2) ComboBox2 получает имя диапазона из ComboBox1 и формирует список относящийся выбранному имени диапазона в ComboBox1. Например, когда в ComboBox1 выбрали из списка Сушка_Верхняя_База, тогда список из диапазона
Код
=Лист2!A2:A16
, если ComboBox1 = Сушка_Нижняя_База. тогда список
Код
=Лист2!A18:A22
Ответ на почему "почти": 1) Когда открыл файл, на ComboBox1 при раскрытие списка, не удалось выбрать "Сушка_Верхняя_База". там только заполненное значение "Сушка_Нижняя_База". Изучая код понял что макрос срабатывает только тогда, когда он пустой. Чтобы выбрать "Сушка_Верхняя_База" надо очистить ComboBox1 это не всегда удобно 2)
ComboBox2 имеет значения в своем контейнере заполненный в коде список, а список должен сформироваться и именованного диапазона зависимый из ComboBox1Sobirjon
_Boroda_, Не хочет почему-то работать (( при первом запуске выдал какую-то ошибку, к сожалению не успел запомнить, при втором запуске уже ошибка не возникает а так же макрос тупо не реагирует на нажатие :no:
_Boroda_, Не хочет почему-то работать (( при первом запуске выдал какую-то ошибку, к сожалению не успел запомнить, при втором запуске уже ошибка не возникает а так же макрос тупо не реагирует на нажатие :no:Sobirjon