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.

[Excel] Odniesienie wartości z listy COMBOBOX do VBA

mpodciwinski 15 Mar 2017 22:41 951 14
  • #1 15 Mar 2017 22:41
    mpodciwinski
    Poziom 4  

    Witam Panowie,
    mam pewien problem z COMBOBOXEM.

    Jeżeli zrobię w nim listę to VBA nie czyta wartości tekstowych z tej listy, jakby traciło połączenie. Mam napisane makra, które na odpowiednie słowo z listy wykonują akcję i wszystko działa ze zwykła listą a z COMBOBOX już nie :/
    Jak to naprawić by VBA czytało dane z listy COMBOBOX?

    0 14
  • #2 16 Mar 2017 07:13
    adamas_nt
    Moderator Programowanie

    Przyczyn może być wiele. Załącz kawałek pliku z UserForm.em i odrobiną kodu (z przypisaniem wartości z Combo).

    0
  • #3 16 Mar 2017 09:50
    mpodciwinski
    Poziom 4  

    Załączam plik, pierwszy wiersz to normalna lista i działa, a drugi to COMBOBOX i już nie.
    <nieregulaminowy link usunąłem, adamas_nt>

    0
  • #4 16 Mar 2017 10:26
    adamas_nt
    Moderator Programowanie

    Spakuj plik (zip, rar) i załącz archiwum (Regulamin, pkt.3.1.18).

    0
  • Pomocny post
    #6 16 Mar 2017 20:07
    adamas_nt
    Moderator Programowanie

    Musisz oprogramować ComboBox. Jeśli zmiana działa, to wynik z Combo zapisz do komórki "pod nim" i masz zdarzenie WorksheetChange.

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Problem w tym, że dla każdego musi być osobna procedura. A dlaczego nie poprawność/lista? Działa przecież...

    0
  • #7 16 Mar 2017 20:40
    mpodciwinski
    Poziom 4  

    Działa, tylko trochę dużo klepania.
    Chciałbym, ale mam inny skrypt który tworzy mi z listy comboboxy po to by było auto-uzupełnianie/podpowiadanie i automatyczne otwieranie listy po kliknięciu lub przejściu do komórki. (w załączeniu plik)
    Chyba, że można coś takiego zrobić bez comboboxa? ;)

    0
  • #8 16 Mar 2017 20:52
    adamas_nt
    Moderator Programowanie

    To bardzo piękna lista dynamiczna. Odejmij sobie w formule nazwy ILE.NIEPUSTYCH(coś tam)-1 i nie będzie tej pustej pozycji na końcu. Co chcesz tu jeszcze "ulepszać"?

    0
  • #9 16 Mar 2017 20:56
    mpodciwinski
    Poziom 4  

    Tak, to juz zrobiłem, to wersja robocza ;)

    W niej nic, tylko pojawił sie wczoraj ten problem z nieczytaniem wartości przez VBA.
    Nie można tych comboboxów jakoś grupowo okodować? tylko każdy osobno?

    0
  • #10 16 Mar 2017 21:07
    adamas_nt
    Moderator Programowanie

    mpodciwinski napisał:
    Nie można tych comboboxów jakoś grupowo okodować?
    Nie znam na to sposobu. Gdybyś coś znalazł, koniecznie daj znać.

    0
  • #11 16 Mar 2017 21:34
    mpodciwinski
    Poziom 4  

    Jest z tym mały problem, ta lista dynamiczna którą wysłałem, oporna jest na ten kod, możliwe, że dlatego, że wszystkie comboboxy nazywają się tak samo. spróbujesz dopisać to do tej listy? mi nie wychodzi :/
    Załączam ten plik z dopisana funkcja vba która zareaguje na April w kolumnie E datą.

    0
  • #12 16 Mar 2017 22:01
    adamas_nt
    Moderator Programowanie

    Tracę orientację. Co chcesz oprogramować?
    TempCombo_Change(), Worksheet_Change?

    W Worksheet_SelectionChange, przed 'If Target.Column = 3' masz Exit Sub, więc makro tam nie "dojedzie".

    Lista dla Combo przypisywana jest prawidłowo...

    0
  • #13 16 Mar 2017 22:09
    mpodciwinski
    Poziom 4  

    Poradziłeś mi prawidłowo, by dopisać do comboboxa ten fragment:
    Private Sub ComboBox1_Change()
    Range("F11") = ComboBox1.Text
    End Sub

    Ale nie działa to przy ten dynamicznej liście tej którą nazwałeś "piękna listą", spróbuj tam dopisać ten fragment.
    To będzie lista która będę docelowo używał,mój błąd, że nie wysłałem jej od razu, ale nie widziałem, że tam ten combobox jest bardziej skomplikowany.

    Da się rozwiązać ten problem? by Vba "czytało" wartości tekstowe z tej listy dynamicznej?

    0
  • #15 17 Mar 2017 08:52
    mpodciwinski
    Poziom 4  

    Dzięki, działa! Jesteś bogiem :D

    0