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

Excel Combobox/VBA - parę podstawowych pytań

18 Gru 2015 20:53 1173 4
  • Poziom 9  
    Hej :)

    Jestem zielony jak pietruszka w temacie używania comboboxa oraz VBA, chociaż się uczę. Udało mi się napisać VBA makro automatycznie chroniące skoroszyt przed edycją.

    Mam jednakże problem z obsługą Combobox. mianowicie:

    1. ...Jak sprawić by po wpisaniu/wybraniu wartości z listy móc zatwierdzić pozycję Enter lub Tab, by kursor przeszedł do następnej komórki/comboboxa. :cry: <podstawa, wiem wstyd pytać się...>

    2. Dodałem do jednego z comboboxów zakres listy z wartościami. Jak sprawić by
    dopuszczalne do wpisania były tylko wartości z tej wybranej listy? Nie zadowala mnie rozwiązanie z ustawianiem we właściwościach w Locked wartości False.

    Będę wdzięczny za każdą wskazówkę!
  • Moderator Programowanie
    Są dwa rodzaje kontrolek: ActiveX i "formularzowe". Kontrolki mogą być na formie lub w arkuszu. Nie wiemy z czym walczysz. Przydałby się załącznik z przykładem...
  • Poziom 9  
    [UPDATE] zły załącznik... poprawiłem.

    Plik w załączeniu (sprawdzam sobie na nim różne funkcje). Formatka activeX

    1. Chciałbym z cb z kolumny Typ rozgrywki po wpisaniu wartości i zatwierdzeniu TAB-em przejść do cb z kolumny Login - czyli w bok.

    2. Chciałbym z cb z kolumny Typ rozgrywki po wpisaniu wartości i zatwierdzeniu Enterem przejść do cb, który jest poniżej.

    3. Chciałbym z cb z kolumny Login po TAB-ie przeskoczyć do komórki z kolumny Wynik

    4. W cb chciałbym móc wpisywać normalnie z palca tekst, który się autouzupełnia. Jednakże możliwe do zatwierdzenia są tylko wartości, które są podane w zakresie. Czyli losowy ciąg znaków skończyłby się błędem.


    Będę ogromnie wdzięczny za każdą wskazówkę w jakimkolwiek z przypadków
  • Moderator Programowanie
    ComboBox ma indywidualne zdarzenia i właściwości. Spróbuj oprogramować przy zmianie (set.focus lub range().select). Rozwinąć bez myszy można stosując Alt+DownArrow.

    W podanym przykładzie jednak, zamiast ComboBox'ów, o wiele łatwiej byłoby zastosować poprawność danych przez listę. Miałbyś większe możliwości "skakania" po arkuszu przy Workscheet.Change.
  • Poziom 9  
    Udało mi się :) Dziękuje za nakierowanie na poprawność danych przez listę.

    "skakanie" mam odpalane przez key_down.