Excel VBA - zależne listy rozwijane (ComboBox) w UserForm. Gotowy formularz do wprowadzania danych.

แชร์
ฝัง
  • เผยแพร่เมื่อ 13 ม.ค. 2025

ความคิดเห็น • 23

  • @jacekwsciso2724
    @jacekwsciso2724 3 หลายเดือนก่อน

    Fajne i funkcjonalne rozwiązanie i bardzo dziękuję za nie. Natomiast jeśli ktoś chce go używać na poważnie, to trzeba się również zastanowić nad tym jak ograniczyć możliwość wpisania 3 czy 4 pozycji po przecinku. Zapewne jest to 1 linijka czy dwie kodu z dopisaniem formatu kwoty ale jeśli jest to możliwe to poproszę o info 😉

  • @mariuszszczepaniak50
    @mariuszszczepaniak50 10 หลายเดือนก่อน

    Jak ja lubię oglądać Twoje filmy‼👍

  • @Bromache
    @Bromache ปีที่แล้ว

    Szacun, że zajmujesz się VBA na YT 👍

  • @rafamikoajczak3564
    @rafamikoajczak3564 ปีที่แล้ว

    Super już 3 film wałkuje, świetnie tłumaczysz!
    P.S komputer ci głośno pracuje myslałem ze mój tak świszczy:D

    • @smartexcel-s.godziszewski
      @smartexcel-s.godziszewski  ปีที่แล้ว

      Dzięki za komentarz. Tak to prawda, są momenty, gdzie nagle włączy się chłodzenie i jest głośniej. Ale pracuje nad tym i będę się starał, aby tego było jak najmniej :) Pozdrawiam

  • @radek.jankowski
    @radek.jankowski 11 หลายเดือนก่อน

    Super sprawa, zapisuję filmik na później. Może się przyda. :)

  • @Bubulek23
    @Bubulek23 5 หลายเดือนก่อน

    Witam, świetny materiał💪🏽. Jestem ciekawa jak wyglądałoby odwołanie listy rozwijanej do zewnętrznego pliku xsls.

  • @bartekbartek3767
    @bartekbartek3767 2 ปีที่แล้ว

    Super, pozdrawiam

  • @wojciechbugajski3084
    @wojciechbugajski3084 ปีที่แล้ว

    Witam, a trzecią listę rozwijaną pewnie też można wrzucić, tylko pewnie będzie skomplikowany kod

  • @piotrmarak4136
    @piotrmarak4136 8 หลายเดือนก่อน

    Dziękuję. Super film. Czy jeśli mamy trzy listy rozwijane i czwarta jest efektem wcześniejszych wyborów to zmienną znajdz robimy 3 razy czyli znajdz1, znajdz2, znajdz3

  • @GrzegorzMelcher
    @GrzegorzMelcher ปีที่แล้ว

    Dzień dobry. Czy można rozbudować formularz i większą liczbę zależnych pól kombi?

  • @nin9beat749
    @nin9beat749 8 หลายเดือนก่อน

    Jeżeli już mam roboczą tabele i chcę kontynuować prowadzenie tabeli z tym trikiem ,to od jakiego wiersza musze zacząć ? Bo jak wpisuję nie A1 a numer wiersza od którego kontynuuje przykładowo A198 to wartość pojawia się w całkiem innym wierszu

    • @71ryro
      @71ryro หลายเดือนก่อน

      Mam dokładnie ten sam problem. Chodzi o ten wiersz: ileW = Arkusz1.Range("A1").CurrentRegion.Rows.Count
      Mogę prosić o wyjaśnienie logiki jego działania? Jak zapanować nad miejscem od którego zaczną pojawiać się wpisy?

  • @bartekbartek3767
    @bartekbartek3767 2 ปีที่แล้ว

    A czy zadziała jeżeli najpierw wpiszę model to podpowie mi markę ? Czy trzeba to w kodzie zmienić żeby działało w dwie strony?

    • @smartexcel-s.godziszewski
      @smartexcel-s.godziszewski  2 ปีที่แล้ว +1

      Formularz w filmie działa inaczej ale oczywiście wszystko można poprawić/zrobić :). Proszę zwrócić uwagę, że podczas ładowania formularza zasilana jest tylko lista z marką i dopiero po wyborze danej pozycji zasilana jest lista z modelami (wcześniej jest ona pusta). Należy wówczas zasilić także ComboBox listą z modelami (wszystkie pozycje) i dodać kod do zdarzenia Change, który to będzie aktualizował listę rozwijaną z markami. Reasumując, tak jak Pan sam zauważył należy dostosować kod tak, żeby działało w dwie strony. Powodzenia

    • @bartekbartek3767
      @bartekbartek3767 2 ปีที่แล้ว

      @@smartexcel-s.godziszewski bardzo dziękuję za odpowiedź

    • @bartekbartek3767
      @bartekbartek3767 2 ปีที่แล้ว

      @@smartexcel-s.godziszewski jeszcze takie jedno pytanko bo gdybym chciał wpisać inne wartości niż te podane to w jaki sposób w kodzie to zmienić? Bo nawet gdy np pomylę się przy wpisywaniu nawet dostępnych danych wyświetla się błąd i przenosi do vba.

    • @smartexcel-s.godziszewski
      @smartexcel-s.godziszewski  2 ปีที่แล้ว

      @@bartekbartek3767 jeżeli chcemy, aby kontrolka ComboBox pozwalała wpisywać wartości to kod ze zdarzenia List_marka_Change należy przenieść do nowo utworzonego zdarzenia List_marka_Click. Takie działanie pozwoli wpisywać wartości w kontrolkach bez pojawiania się błędu. Przyczyną Debug jest fakt, że jak próbujemy coś wpisać to działa zdarzenie List_marka_Change, które wyszukuje w liście takiego słowa i jak nie znajdzie (co w tym przypadku się potwierdza) zwraca błąd.
      Taka ciekawostka, jeżeli chcemy zablokować możliwość wpisywania wartości do kontroli ComboBox należy skorzystać z właściwości "Style" i wybrać opcję "fmStyleDropDownList". Pozdrawiam

    • @bartekbartek3767
      @bartekbartek3767 2 ปีที่แล้ว

      @@smartexcel-s.godziszewski super jeszcze raz dziękuję za informację i pomoc

  • @PeePoo1983
    @PeePoo1983 ปีที่แล้ว

    Mozna polaczyc Pana film o wyszukiwaniu pionowym vba z rozwijanymi listami? Tj. staram sie zrobic cos takiego z 1 listy wybieram dzial, z drugiej numer stanowiska i teraz chcialbym zeby na podstawie dwoch wartowci wyzej, w polu tekstowym formularza userform pokwzywwly sie dane szczegolowe stanowiska, np nazwa, wymagania itd w userformie w polu tekstowym.....

    • @smartexcel-s.godziszewski
      @smartexcel-s.godziszewski  ปีที่แล้ว +2

      Dzięki za komentarz. Pewnie, że można połączyć. Wszystko jednak zależy od odpowiedniej struktury danych. Tworząc bazę danych zapewne w jednej linii będą wszystkie informacje. Dlatego można wtedy wyszukać nr stanowiska (+ sprawdzić zgodność ze stanowiskiem) i wtedy połączyć potrzebne dane za pomocą ogranicznika "," (przecinek) i zwrócić do odpowiedniego pola tekstowego w UserForm.
      Do łączenia można wykorzystać nową funkcję Excela np. POŁĄCZ.TEKST() ang. TEXTJOIN()
      Przykład poniżej:
      Dim polacz As String
      polacz = Application.WorksheetFunction.TextJoin(",", True, Range("A1:E1"))
      Można to zrobić również za pomocą samego ampersanda "&" i odwoływać się dynamicznie do potrzebnych komórek, innymi funkcjami tekstowymi a także pętlą.
      Pozdrawiam