UserForm - wartości w ComboBox zależne od innego ComboBox'a

UserForm – wartości w ComboBox zależne od innego ComboBox’a

ComboBox w UserFormie

Pod wpisem dotyczącym kontrolki ComboBox ( https://www.dariuszskorniewski.pl/combobox/ ) Diana napisała komentarz z pytaniem o to jak zrobić dwa takie pola w których jedno jest zależne od drugiego. Podała bardzo czytelny przykład z markami samochodów i ich modelami. Jeżeli w pierwszym polu użytkownik wybierze konkretną markę, to w drugim do wyboru będą modele dla tej właśnie marki.

Żeby dostosować przykład do zadania, które wyznaczyła mi Diana dodałem kolejny ComboBox, który zawierać będzie nazwę miasta reprezentującego oddział firmy.

nowy Combobox w formularzu

Nową kontrolkę nazwałem cbxOddzial.

Modyfikacja kodu

Teraz wystarczy że do zdarzenia cbxKraj_Change() dodam warunek sprawdzający jaka wartość pojawiła się w tym właśnie polu. Dla każdego z czterech krajów wprowadziłem tablice, które zawierają listy oddziałów.

Jako ostatni przypadek po Else dodaję polecenie, które czyści kontrolkę. Polecenie czyszczenia zawartości drugiego ComboBox‘a sprawi, że po zmianie Kraju nie pozostanie mi stara nazwa oddziału. Ten krok jest niezbędny dlatego, że stara wartość z cała pewnością już nie należy do listy z tego nowo wybranego.

przypisanie listy wartości do ComboBox

W ostatnim kroku dodaję nową linijkę kodu do eventu cbWstaw_Click(), aby zawartość nowej kontrolki została wprowadzana do arkusza. I jeszcze polecenie wyczyszczenia zawartości ComboBoxa’a po wprowadzeniu danych do arkusza.

wprowadzenie zawartości ComboBox do arkusza

Możesz też zobaczyć cały proces na YT:

Spodobał Ci się artykuł ? Udostępnij go znajomym.

Share on facebook
Share on linkedin
Share on twitter

2 thoughts on “UserForm – wartości w ComboBox zależne od innego ComboBox’a”

  1. Witam
    Panie Darku czy jest możliwość ustawienia jeżeli np w polu Oddział będę wpisywał ręcznie aby automatycznie pojawiały się podpowiedzi wpisywanych liczb np po wybraniu Polska mam wiele oddziałów “Kalisz”, “Poznań”, “Koszalin”, “Szczecin”; “Katowice” i wpisując np “KA” pojawią się podpowiedzi Kalisz i Katowice

    1. Dariusz Skórniewski

      Cześć Stanisław,
      Jest to do zrobienia, chociaż szczerze to nigdy nie próbowałem zrobić tego samodzielnie 🙂 Jedyne rozwiązanie jakie widziałem to rozwiązanie, które pokazuje m.in. Adam z portalu ExceliAdam. Nie mam niestety linku do tego nagrania.

Leave a Comment

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *