Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Rozevírací seznam závislý na jiném rozevíracím seznamu v excelu

V podstate by to šlo poriešiť i takto ale máš tam chaos v Select Case.
Musíš dôsledne odlišovať Case pre x v rámci ktorého budeš mať množiny Case pre y.
Musíš prebrať všetky prípady x a všetky prípady y.
V rámci jedného Case pre x musíš prebrať všetky prípady pre y, t.j. nemôžeš pre jedno x prebrať len jednu množinu y a druhú množinu y dať do ďalšieho case x keď sa jedná o to isté x.
Významne sa Ti kód sprehľadní, ak budeš jednotlivé bloky odsadzovať aby na prvý pohľad bolo jasné, kde začína blok pre x a kde pre y... a pod...

Takže Tvoj kód po úprave:

Private Sub ComboBox30_Change()
Dim x As Byte
Dim y As Byte

On Error Resume Next
x = ComboBox30.ListIndex
y = ComboBox2.ListIndex
On Error GoTo 0

Select Case x
    Case Is = 0
        Select Case y
            Case Is = 0
                ComboBox58.ListFillRange = ""
        End Select
    Case Is = 1
        Select Case y
            Case Is = 1 Or 2 Or 3 Or 4 Or 5 Or 6 Or 7 Or 8 Or 9 Or 10
                ComboBox58.ListFillRange = "vera"
            Case Is = 11 Or 12 Or 13 Or 14 Or 15 Or 16 Or 17 Or 18 Or 19 Or 20 Or 21 Or 22
                ComboBox58.ListFillRange = "verb"
        End Select
End Select
End Sub

P.S. Nie som si istý, či ListIndex môže byť 0 ale prikladám Ti link z ktorého vyčítaš možnosti a spôsoby použitia Select Case:
http://office.lasakovi.com/excel/vba-teorie-zaklady/select-case-excel-vba/
A myslím, že budeš musieť poošetrovať i ďalšie možné stavy: Case Else (záleží, či vylúčiš napr možnosť voliť v boxe 2 ak box 1 nie je navolený priradením prázdnej množiny ako zdroja pre box 2, alebo budeš musieť použiť Case Else)

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny