Страницы: 1
RSS
Программно прописать в combobox выбор элемента из списка
 
Здравствуйте, подскажите пожалуйста, как прописать проверку в combobox1 с таким условием, если выбран элемент из списка combobox1, то listbox1.SetFocus.
Никак не пойму как прописать именно условие, что выбран один из элементов в combobox.
 
Не знаю, или это вы имеете в виду (?), но попробуйте:
Код
Option Explicit

Dim tbl()
Dim vybor$
Dim blokiruy As Boolean

Private Sub UserForm_Initialize()
    blokiruy = True
    With ThisWorkbook.Sheets("List1").Range("a1").CurrentRegion
        tbl = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count).Value
    End With
    With UserForm1
        .Caption = "Okno"
        With .ComboBox1
            .List() = tbl
            .ListIndex = -1
        End With
        With .ListBox1
            .List() = tbl
            .ListIndex = -1
        End With
    End With
    blokiruy = False
End Sub

Private Sub ComboBox1_Change()
    If blokiruy Then Exit Sub
    With UserForm1
        vybor = .ComboBox1.Value
        With .ListBox1
            .Value = vybor
            .SetFocus
        End With
    End With
End Sub
 
Цитата
Kislota написал:
если выбран элемент из списка combobox1, то listbox1.SetFocus
If ComboBox1.Value = "чё то там" Then ListBox1.SetFocus

ocet p  к вашему коду больше вопросов, чем он содержит ответов)
 
Честно говоря вообще не понял вопрос, но может так.
Изменено: Nordheim - 08.10.2018 08:11:35
"Все гениальное просто, а все простое гениально!!!"
 
Всем спасибо за ответы. Уважаемые, Nordheim и Dima S, сделали почти как надо, только у Вас известные значения, а у меня combobox берет значение из таблицы, которая изменяется и все данные в ней завтра могут быть заменены, поэтому я не могу прописать конкретные имена значений. Нужно чтобы был выбран любой элемент из списка, но имя его не известно.
 
Код
Private Sub ComboBox1_Change()
    ListBox1.SetFocus
End Sub
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Kislota написал:
у Вас известные значения, а у меня
а откуда нам знать, что у вас? вы же свой пример не предоставили.
тут добровольцы взялись вместо вас, как поняли, делать.
 
Код
If ComboBox1.ListIndex <> -1 Then MsgBox "Что-то выбрано"
 
в таком случае - не понимаю зачем вам вообще этот SetFocus, если он визуально листбокс особо не выделяет, а для выбора значения все равно нужно участие пользователя.
 
Юрий М, спасибо огромное, это помогло.
Страницы: 1
Наверх