Выбор строки из Combobox с помощью VBA...

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

проблема в чём? Если в Combobox есть 2 одинаковые записи, то при использовании VBA для выбора записи выбирается первая запись.

Код: Выделить всё

Private Sub CommandButton1_Click()
ComboBox1.Value = ComboBox1.List(2, 0)
End Sub
Private Sub UserForm_Initialize()
ComboBox1.AddItem "Первый"
ComboBox1.AddItem "Второй"
ComboBox1.AddItem "Первый"
End Sub
Как в данном примере поместить в Combobox третий элемент?
nilem
Сообщения: 112
Зарегистрирован: 14 ноя 2008, 01:59
Откуда: Уфа

Не совсем понятно. Может, так:

Код: Выделить всё

Private Sub UserForm_Initialize()
With Me.ComboBox1
    .AddItem "Первый"
    .AddItem "Второй"
    .AddItem "Первый2"
End With
End Sub
Private Sub CommandButton1_Click()
'выбираем 3-й элемент (нумерация нач-ся с 0)
Me.ComboBox1.ListIndex = 2
End Sub
nilem
Сообщения: 112
Зарегистрирован: 14 ноя 2008, 01:59
Откуда: Уфа

Т.е. выбирается не первая из одинаковых записей, а та, ListIndex которой указан.
Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

.AddItem "Первый2"
что за самодеятельность?
nilem
Сообщения: 112
Зарегистрирован: 14 ноя 2008, 01:59
Откуда: Уфа

Busine2009 писал(а):что за самодеятельность?

Просто творческий подход.
Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

nilem
Так нельзя менять названия - в этом вся фишка.
nilem
Сообщения: 112
Зарегистрирован: 14 ноя 2008, 01:59
Откуда: Уфа

Назовите как хотите. Обращение-то идет не по имени, а по индексу.
Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

nilem
так в том то весь и смысл, что названия одинаковые.
nilem
Сообщения: 112
Зарегистрирован: 14 ноя 2008, 01:59
Откуда: Уфа

Вот это не подходит?
Private Sub CommandButton1_Click()
'выбираем 3-й элемент (нумерация нач-ся с 0)
Me.ComboBox1.ListIndex = 2
End Sub
Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

nilem
не работает.
Ответить