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)