powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA список в комбобоксе.
5 сообщений из 5, страница 1 из 1
VBA список в комбобоксе.
    #35852363
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго всем времени суток. Вот такой вопрос - MS Excel, VBAшная форма, в ней через АДО получаю список заказов например. Загнать в ComboBox наименования заказов можно без проблем через AddItem. Но хочется вот загнать список заказ + айдишник. Т.е. :
Заказ1 234
Заказ2 182
Заказ3 800

Причем чтобы пользователь видел только наименование 'Заказ2', а в качесте Value я мог бы получить айдишник. Не нашел возможности такого сделать в ВБА.
...
Рейтинг: 0 / 0
VBA список в комбобоксе.
    #35853575
739526492
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может быть так?
Private Sub ComboBox1_Change()
Me.Caption = Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1)
End Sub

Private Sub UserForm_Initialize()
ComboBox1.AddItem "Item 1"
ComboBox1.List(0, 0) = "Item 1"
ComboBox1.List(0, 1) = "ID1"
ComboBox1.AddItem "Item 2, Column 1"
ComboBox1.List(1, 0) = "Item 2"
ComboBox1.List(1, 1) = "ID2"
End Sub
...
Рейтинг: 0 / 0
VBA список в комбобоксе.
    #35854757
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разместите на форме ComboBox1, а для иллюстрации значения ComboBox1.Value разместите еще и TextBox1.
Остальное выполнит код, приведенный ниже:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub ComboBox1_Change()
  TextBox1 = ComboBox1.Value
End Sub

Private Sub UserForm_Initialize()
  With ComboBox1
    .ColumnCount =  2 
    .ColumnWidths = "40;0"
    .BoundColumn =  2 
    .List = [{"Заказ1", "234" ; "Заказ2", "182"; "Заказ3", "800"}]
  End With
End Sub
...
Рейтинг: 0 / 0
VBA список в комбобоксе.
    #35854776
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если нужно, чтобы в списке комбобокса предлагались заказы, а после выбора в комбобоксе отображался ID, то к предыдущему коду нужно добавить:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Dim i As Long  ' <-- это должно быть в начале кода формы

Private Sub ComboBox1_DropButtonClick()
  If i =  0  Then
    i =  1 
    ComboBox1.ColumnWidths = "40;0"
  Else
    i =  0 
    ComboBox1.ColumnWidths = "0;40"
  End If
End Sub
...
Рейтинг: 0 / 0
VBA список в комбобоксе.
    #35855341
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо большое за ответы! Счас буду пробовать.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA список в комбобоксе.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]