Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VBA Excel - Combobox powiazane dwóch okien

kwitu86 28 Lut 2014 09:00 1611 5
  • #1 28 Lut 2014 09:00
    kwitu86
    Poziom 10  

    cześć,

    mam problem i dalszą naukę jak powiązać dwa okna combobox tak aby gdy wybiorę wartość EAST to w drugim będzie możliwość wyboru 1,2 lub 3. Gdy wybiorę następną np SOUTH to będzie dostępne 11, 22 lub 33

    0 5
  • #2 28 Lut 2014 09:25
    mickpr
    Poziom 39  

    Dodaj sobie do formularza przykładowy kod VBA:

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    Ogólnie mówiąc - musisz pod zdarzenie "Change" pierwszego ComboBox-a wpisać kod, który ustawi ci drugiego z nich.

    0
  • #3 28 Lut 2014 10:39
    kwitu86
    Poziom 10  

    hej,

    bardzo fajna opcja. Dziękuję.

    A co w przypadku gdybym chciał, aby ta lista w drugim oknie była wyła wyszukiwana pionowo ? istnieje taka możliwość ?

    0
  • #4 28 Lut 2014 11:09
    mickpr
    Poziom 39  

    Napisałem ci to, o co pytałeś.
    Gdybyś chciał, aby źródłem ComboBox2 były dane z arkusza kod będzie wyglądał inaczej.
    Podawaj precyzyjnie pytania.

    0
  • #5 28 Lut 2014 22:34
    kwitu86
    Poziom 10  

    Dziękuję za pomoc :)

    Dokładnie napisałeś to co chciałem. Więc teraz doprecyzuję to co chciałbym uzyskać i jeszcze coś dodatkowego. Pozwoliłem sobie skorzystać z jakiejś wersji pliku, który krążył w sieci i go odpowiednio zmodyfikować. Plik w załączniku.

    Dwie kwestie.

    1. Jak zrobić listę w Combobox2, gdy mamy dane w Combobox1 i są one zależne.
    Jak będzie wyglądał kod VBA, gdy w Combobox1 będzie wartość np EAST a dane dla Combobox2, który jest uzależniony od Combobox1, będą znajdowały się w Arkuszu1 w kolumnie H?

    2. Excel, który chce stworzyć ma za zadanie generować dane i teraz mam jeszcze problem jak powiązać ze sobą pewne dane w kwestii przycisków ToggleButton i przypisanie ich wartości do arkusza DANE.

    Jak ustawić przyciski ToggleButton TAK, NIE, NIE DOTYCZY ( znajdujące się w jednym rzędzie ) tak, że gdy wcisnę TAK to pozostałe dwa czyli NIE i NIE DOTYCZY będą odznaczone, gdy wcisnę NIE to TAK i NIE DOTYCZY będą odznaczone lub, gdy wcisnę NIE DOTYCZY to TAK i NIE będą odznaczone ( odznaczone - czytaj jako nie wciśnięte ) i jak przypisać ich wartość ( gdy są wciśnięte ) do jednej z kolumn w arkuszu DANE? ( Wciśnięta wartość będzie się zapisywała w arkuszu DANE po wciśnięciu przycisku DODAJ )?

    0
  • #6 28 Lut 2014 23:42
    mickpr
    Poziom 39  

    kwitu86 napisał:
    Jak będzie wyglądał kod VBA, gdy w Combobox1 będzie wartość np EAST a dane dla Combobox2, który jest uzależniony od Combobox1, będą znajdowały się w Arkuszu1 w kolumnie H?
    Wtedy - zamiast przypisywać wartości "ręcznie" - metodą: Me.ComboBoxXXX.AddItem YYYYnależy wybierać interesujący nas zakres bezpośrednio z arkusza, podstawiając go jako dane (RowSource czyli źródło wierszy).
    W twoim przykładzie: fragment "IF"z warunkiem "=EAST" może wyglądać tak:
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    Jednak w tym wypadku należy nieco zadbać o ochronę przed błędami, sprawdzać obiekt ComboBox przez uaktualnianiem (Clear) i przed fokusem (modyfikacja obiektu który ma fokus nie jest zawsze możliwa).
    Sprawdź, przetestuj - powiedz co jest nie tak.
    kwitu86 napisał:
    jak powiązać ze sobą pewne dane w kwestii przycisków ToggleButton i przypisanie ich wartości do arkusza DANE.
    Przycisk może bezpośrednio wywoływać kod, który wpisuje wartości do określonych pól arkusza. Poćwicz VBA, poczytaj HELP - z pewnością się dowiesz "jak".
    kwitu86 napisał:
    Jak ustawić przyciski ToggleButton TAK, NIE, NIE DOTYCZY ( znajdujące się w jednym rzędzie ) tak, że gdy wcisnę TAK to pozostałe dwa czyli NIE i NIE DOTYCZY będą odznaczone, gdy wcisnę NIE to TAK i NIE DOTYCZY będą odznaczone lub, gdy wcisnę NIE DOTYCZY to TAK i NIE będą odznaczone ( odznaczone - czytaj jako nie wciśnięte )
    Pobaw się właściwościami (okno Properties) "ENABLED" "LOCKED" i "VISIBLE" kontrolek. Poczytaj o tych właściwościach .
    kwitu86 napisał:
    i jak przypisać ich wartość ( gdy są wciśnięte ) do jednej z kolumn w arkuszu DANE?
    http://skrypciki.blogspot.com/2012/07/skrypty-excel-mozliwosci-mozliwosci.html

    0
  Szukaj w 5mln produktów