Ešte to skrátime:
Private Sub cbVyrobce_Change()
Dim ADR As String
On Error Resume Next
ADR = "=vstupni_data!" & wsData.Range("MODEL").Address
cbModel.ListFillRange = ADR
Range("E6").ClearContents
End Sub
Definovaný názov MODEL obsahuje odkaz na správnu oblasť modelov podľa vybraného výrobcu. Je to zabezpečené pomocou OFFSET/POSUN a MATCH/POZVYHLEDAT.
Pri zmene výrobcu, alebo jeho vynulovaní, dôjde k tomu že sa do premennej ADR pokúsi priradiť adresu správnej oblasti MODEL. Ak nastane chyba (výrobca je prázdny, alebo bez modelu,...) ADR bude "". Teda sa zoznam v cbModel vlastne vynuluje. Ak ale bude výrobca validný, tak sa do cbModel načíta správna oblasť. Prípadná predchádzajúca hodnota v cbModel sa vymaže pomocou ClearContents na jej prepojenej bunke.
citovat