Часто онлайн
776 / 523 / 234
Регистрация: 09.01.2017
Сообщений: 1,807
1
Excel

На основании значения ComboBox1 в Combobox2 поместить зависящие значения

24.09.2019, 12:55. Показов 919. Ответов 8
Метки vba (Все метки)

День добрый!
Есть UserForm с двумя ComboBox, в первый уникальные значения поместил, теперь нужно, чтобы при выборе значения в ComboBox1 отображались уникальные значения в Combobox2, на прямую это сделать могу, но вот беда в том, что это все меняется и постоянного диапазона нет.
Помогите пожалуйста!
Вложения
Тип файла: rar ПримерComboBox.rar (17.1 Кб, 11 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.09.2019, 12:55
Ответы с готовыми решениями:

Как при выборе значения из ComboBox1 выдать значения в ComboBox2, свойственные только для значения из ComboBox1
Подскажите пожалуйста вот еще что: Как организовать работу двух ComboBox, так чтобы при выборе...

При выборе значения в Combobox1 раскрыть список в Combobox2
Как в VBA при выборе значения в Combobox1 раскрыть список в Combobox2. Чего то у меня не хочет...

Как из combobox2 исключить значение combobox1?
Доброго времени суток! проблема в следующем: ComboBox1.RowSource = "Работники!H3:H29" теперь как...

Как создать ComboBox2 на основе выбора ComboBox1 / UserForm
У меня стоит следующая задача, как в UserForm на основе выбора в листинге ComboBox1 ...

8
140 / 123 / 50
Регистрация: 10.11.2011
Сообщений: 620
24.09.2019, 13:08 2
Как вариант
Вложения
Тип файла: xls ПримерComboBox.xls (56.5 Кб, 17 просмотров)
0
Часто онлайн
776 / 523 / 234
Регистрация: 09.01.2017
Сообщений: 1,807
24.09.2019, 15:50  [ТС] 3
yutrans, Немного не то...
Так я и сам делал...
На данный момент в столбце В три уникальных значения и для каждого свои уникальные значения в столбце С, вот их и нужно подружить.
Сейчас же какое бы значение не выбрал в кобобоксе 1 во втором одни и те же значения...
0
2616 / 1627 / 739
Регистрация: 23.03.2015
Сообщений: 5,105
24.09.2019, 15:55 4
КостяФедореев,
а почему у вас
 
Демонтажные работы Полы
Демонтажные работы Полы
Демонтажные работы Полы
Демонтажные работы
Демонтажные работы Стены
Демонтажные работы Стены
Демонтажные работы Стены
Демонтажные работы Стены
Демонтажные работы Стены
Демонтажные работы Стены
Демонтажные работы Стены
Демонтажные работы Стены
Демонтажные работы Стены
Демонтажные работы Стены

в таком количестве?
0
Часто онлайн
776 / 523 / 234
Регистрация: 09.01.2017
Сообщений: 1,807
24.09.2019, 16:02  [ТС] 5
Narimanych, Так устроены данные в файле, в этом вся и сложность.
И есть еще третий столбец в нем все значения уникальные.
В идеале было бы не плохо найти Диапазон в котором находятся названия "Демонтажные работы"(и другие) сейчас этот диапазон А1:А30(начало А1 и конец А30)
0
2616 / 1627 / 739
Регистрация: 23.03.2015
Сообщений: 5,105
24.09.2019, 16:13 6
КостяФедореев,
На вашем месте я бы создал отдельный лист, куда бы я при открытии книги и сплавлял бы уникальные данные для каждого вида ..
А потом, в зависимости от... можно и .....
0
Часто онлайн
776 / 523 / 234
Регистрация: 09.01.2017
Сообщений: 1,807
24.09.2019, 17:11  [ТС] 7
Narimanych,
В идеале было бы не плохо найти Диапазон в котором находятся названия "Демонтажные работы"(и другие) сейчас этот диапазон А1:А30(начало А1 и конец А30)
Возможно вообще такое провернуть?

Добавлено через 41 минуту
Сделал так
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub ComboBox1_Click()
    Dim myCell1 As Range, myElement As Variant, i As Long, uuu As Long
    Dim myCollection As New Collection
    lRowS = Sheets("Лист1").Cells(Rows.Count, "A").End(xlUp).Row
    Set myRange1 = Sheets("Лист1").Range("C1:C" & lRowS)
    uu = UserForm1.ComboBox1.Text
    For Each Element In myRange1
        i = Element.Row
        On Error Resume Next
        If uu = Sheets("Лист1").Cells(i, "B") Then
            On Error Resume Next
            myCollection.Add CStr(Element.Value), CStr(Element.Value)
        End If
    Next Element
    On Error GoTo 0
    For Each myElement In myCollection
        If myElement <> "" Then
            UserForm1.ComboBox2.AddItem myElement
        End If
    Next myElement
End Sub
Только не знаю как очистить словарь перед выбором другого значения из комбобокс1.
Т.е. какое выбрал первое значение, соответствующие значения добавились в словарь, а при выборе другого значения в словаре те же.

Добавлено через 11 минут
Все решил, добавил строку в начале кода
Visual Basic
1
UserForm1.ComboBox2.Clear
Добавлено через 50 секунд
Надо было не коллекцию очищать, а комбобокс2...
0
2616 / 1627 / 739
Регистрация: 23.03.2015
Сообщений: 5,105
24.09.2019, 21:55 8
КостяФедореев,
Посмотрите ,так пойдет?
Вложения
Тип файла: rar ПримерComboBox Rev 0.rar (29.0 Кб, 20 просмотров)
0
Часто онлайн
776 / 523 / 234
Регистрация: 09.01.2017
Сообщений: 1,807
24.09.2019, 22:54  [ТС] 9
Narimanych, Да, то, что нужно! Спасибо!

Пробовал тоже через словари сделать, но пока не "дорос" до них))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.09.2019, 22:54
Помогаю со студенческими работами здесь

Значение TextBox1 в зависимости от значения в ComboBox1
Задача такая есть столбец А и В. Столбец А, там размеры. Столбец Б площади в зависимости от...

Постоянная проверка смены значения в ComboBox1
Добрый день Подскажите пожалуйста решение для следующей проблемы: При запуске формы, у меня...

Как сделать, чтобы, когда нажимается кнопка "ОК" данные из combobox1 и combobox2 Печатались на "Лист1"
Как сделать, чтобы, когда нажимается кнопка &quot;ОК&quot; данные из combobox1 и combobox2 Печатались на...

Как сделать чтобы при выборе значения в ComboBox1 вносились определенные значения в ComboBox2
В ComboBox1 хранится информация: Клавиатура Мышь Монитор Системный блок Принтер Проектор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru