Nie wiem jak masz u?o?one dane, wi?c poni?szy przyk?ad jest stworzony
dla danych gdzie w kolumnie A s? wojew?dztwa, w kolumnie B przypisane
do nich miasta. Dane musz? by? posortowane przynajmniej po
wojew?dztwach.
Dodatkowo w kolumnie J umie?ci?em nazwy wszystkich wojew?dztw jako
?r?d?o dla pierwszego pola kombi.
- dodaj? do arkusza dwa pola kombi, wst??ka deweloper, przycisk wstaw
i ze zbioru formanty ActiveX wybieramy pole kombi.
- W trybie projektowania kilkamy prawym klawiszem na pierwsze pole
kombi, wybieramy w?a?ciwo?ci i nadajemy nazw? (w?a?ciwo?? name) polu
"wojewodztwa", dodatkowo ustawiamy w?a?ciwo?? ListFillRange na zakres
gdzie mamy wojew?dztwa (u mnie kolumna J).
- Zamykamy w?a?ciwo?ci 1-go pola kombi i klikamy na w?a?ciwo?ci
drugiego pola kombi. nadajemy mu nazw? "miasta" i zamykamy
w?a?ciwo?ci.
- Ponownie w trybie projektowania klikamy prawym na 1-sze pole kombi i
tym razem wybieramy opcj? wy?wietl kod i wklepujemy poni?sze makro:
Private Sub wojewodztwa_Change()
Set pierwsza = Range("A:A").Find(what:=wojewodztwa)
Set wszystkie = pierwsza
Set znaleziona = pierwsza
Do
Set znaleziona = Range("A:A").Find(after:=znaleziona,
what:=wojewodztwa)
If znaleziona Is Nothing Then Exit Do
Set wszystkie = Union(znaleziona, wszystkie)
If znaleziona.Address = pierwsza.Address Then Exit Do
Loop
miasta.ListFillRange = wszystkie.Offset(0, 1).Address
Range("A1").Select
miasta.Value = pierwsza.Offset(0, 1)
End Sub
- zamykamy VBA, odklikujemy tryb projektowania i testujemy pola kombi.
U mnie dzia?a
--
Pozdr.
Cynio