как увязать каскадно два ComboBox в Excel

Программирование на Visual Basic for Applications
keksm
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 24.06.2005 (Пт) 9:22
Откуда: Татарстан

как увязать каскадно два ComboBox в Excel

Сообщение keksm » 24.06.2005 (Пт) 9:24

Помогите ламеру. Я только начал изучать VBA в Excel. До этого не программировал.
Ситуация следующая. Два Комбобокса расположены на листе (Лист2). Диапазон данных ComboBox1 на листе (Лист1)-> (A1:A4). Для ComboBox2 диапазоны данных (Лист1) должны меняется в зависимости от выбора ComboBox1:
(B1:B5)
(B6:B10)
(B11:B15)
(B16:B20)

Подскажите. Заранее благодарен откликнувшимся. Просьба выложить полный код.

a_mayor
Новичок
Новичок
 
Сообщения: 41
Зарегистрирован: 02.06.2005 (Чт) 21:44

Сообщение a_mayor » 26.06.2005 (Вс) 9:44

Alt + F11, выбери Лист2 и там вставь код:

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

Private Sub ComboBox1_Change()
    Select Case ComboBox1.Text
        Case Sheet1.Range("A1"): ComboBox2.ListFillRange = "Sheet1!B1:B5"
        Case Sheet1.Range("A2"): ComboBox2.ListFillRange = "Sheet1!B6:B10"
        Case Sheet1.Range("A3"): ComboBox2.ListFillRange = "Sheet1!B11:B15"
        Case Sheet1.Range("A4"): ComboBox2.ListFillRange = "Sheet1!B16:B20"
    End Select
End Sub

Private Sub Worksheet_Activate()
    ComboBox1.ListFillRange = "Sheet1!A1:A4"
End Sub


Sheet1 поменяй на Лист1

keksm
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 24.06.2005 (Пт) 9:22
Откуда: Татарстан

Сообщение keksm » 27.06.2005 (Пн) 14:14

Вот один из вариантов предложенных мне на другом форуме.

Код: Выделить всё
Private Sub ComboBox1_DropButtonClick()

ComboBox1.ListFillRange = "Лист1!A5:A8"

ComboBox2.ListFillRange = "Лист1!" & Choose(ComboBox1.ListIndex + 1, _
B1:B5, "B6:B10", "B11:B15", "B16:B20")

Me.Range("F1") = ComboBox1.Value
Me.Range("F2") = ComboBox1.ListIndex
Me.ComboBox2.ListIndex = -1

End Sub
[\code]

У кого есть ещё варианты мне будет интересно.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 95

    TopList