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 VBA - makro dla ComboBox

14 Lis 2013 19:47 5247 17
  • #1 14 Lis 2013 19:47
    473674
    Użytkownik usunął konto  
  • #2 14 Lis 2013 20:30
    adamas_nt
    Moderator Programowanie

    Nie zaszalałeś z programowaniem...
    Jak przypisujesz listę do kombo? W kodzie, czy właściwościach?
    Lista ma indeks (od zera), więc wiersz będzie równy Kombo.ListIndex +1

    Wystarczy dodać: Cells(indeks listy +1, kolumna)= Cells(indeks listy +1, kolumna) + wartość z pola

    Było kilka podobnych tematów, poszukaj. I trochę samodzielności kolego ;) ComboBox/ListBox jest dość dokładnie opisany w help'ie.

    0
  • #3 14 Lis 2013 20:53
    473674
    Użytkownik usunął konto  
  • #4 14 Lis 2013 22:03
    adamas_nt
    Moderator Programowanie

    Zerknij tutaj. Jeden z pierwszych na liście rezultatów wyszukiwania frazy "vba combobox" na naszym forum.

    0
  • #5 17 Lis 2013 22:41
    473674
    Użytkownik usunął konto  
  • Pomocny post
    #6 17 Lis 2013 23:02
    adamas_nt
    Moderator Programowanie

    Kiedyś na forum był temat magazynu. uchował mi się plik. Jeśli towarów jest naprawdę dużo, to zerknij na filtry (przede wszystkim ten po nazwie) w formularzu pod przyciskiem "Wydanie z magazynu". Projekt oczywiście nie jest dokończony, ale chodziło wtedy o to filtrowanie.

    Może w ten sposób?

    0
  • Pomocny post
    #7 17 Lis 2013 23:19
    marcinj12
    Poziom 40  

    W UserForm1 wystarczy zrobić 3 proste rzeczy:
    1. Aby załadować dane do comboboxa, dodaj:

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    2. Aby przepisywać towar do textboxa (choć nie wiem po co to, skoro można od razu z comboboxa go brać...):
    Kod: vb
    Zaloguj się, aby zobaczyć kod


    3. Aby dopisać do kolejnej pozycji na WZ:
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    Powinieneś też zmienić w comboboxie właściwość Style = 2 - fmStyleDropDownList, bo w tej chwili użytkownik może w combobxa wpisać cokolwiek...

    0
  • #8 18 Lis 2013 10:02
    473674
    Użytkownik usunął konto  
  • Pomocny post
    #9 18 Lis 2013 17:44
    marcinj12
    Poziom 40  

    wieniek64 napisał:
    Cytat:
    2. Aby przepisywać towar do textboxa (choć nie wiem po co to, skoro można od razu z comboboxa go brać...):

    Jak to zrobić - tak z ciekawości jeśli można.
    Po prostu - zamiast
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    napisać
    Kod: vb
    Zaloguj się, aby zobaczyć kod
    a textboxa i wszystkie powiązane z nim fragmenty kodu - wyrzucić.

    0
  • #11 27 Lis 2013 15:05
    473674
    Użytkownik usunął konto  
  • Pomocny post
    #12 27 Lis 2013 16:30
    marcinj12
    Poziom 40  

    wieniek64 napisał:
    Mam problem z dopisaniem do Arkusza1 (WuZetka) do komórki E9 kontrahenta
    wybranego z Comboboxa.
    Pewnie dlatego, że pod przyciskiem WSTAW nie masz żadnego kodu... ;) Wstaw go - kod będzie podobny do tego, który podałem jako ostatni, a nawet prostszy, bo znasz adres komórki, do której chcesz wstawiać.
    wieniek64 napisał:
    Dlaczego lista kontrahentów jest inna niż towarów.
    A jaka ma być?? Chyba nie taka sama? ;)
    wieniek64 napisał:
    Czy można pod button WYCZYŚĆ podpiąć kod zapisania wybranych komórek z arkusza WuZetka do arkusza ZapiszWZ
    Można i też nie jest to nic trudnego: wystarczy ustalić ostatni wiersz w tym arkuszu tak samo jak wcześniej, a potem poprzepisywać wartości z odpowiednich pól pomiędzy arkuszami, np.
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #13 27 Lis 2013 21:51
    473674
    Użytkownik usunął konto  
  • #14 02 Gru 2013 20:09
    473674
    Użytkownik usunął konto  
  • #15 02 Gru 2013 23:39
    adamas_nt
    Moderator Programowanie

    wieniek64 napisał:
    aby przycisk 'Popraw dane kontrahenta' z komórki E9 arkusz1 WuZetka pokazał wiersz tego kontrahenta w arkusz3 Kontrahent.
    Metoda 'Find' i 'Row.Select' 'po 'Sheets(nazwa).Activate'

    wieniek64 napisał:
    I jeszcze jedno, co zrobić aby UserForm1 był u góry ekranu a nie centralnie w środku.
    Wypozycjonować. Np (lewy, górny róg z małym marginesem)
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #16 03 Gru 2013 21:06
    473674
    Użytkownik usunął konto  
  • Pomocny post
    #17 03 Gru 2013 22:37
    adamas_nt
    Moderator Programowanie

    Ops! Sorki, pewne rzeczy wydają się oczywiste. Żona ostatnio wydała komendę: "wsyp soli". I bądź tu mądry, wolałem uciec do piwnicy niż zadawać pytania :D

    Położenie arkusza w 'Initialize' formularza. Nie wiedziałem o który chodzi, wpisałem w największy.
    Wyszukiwanie w kodzie arkusza, podpięte pod przycisk. Nie robiłem żadnego zabezpieczenia przed błędem. Lista pobierana jest z przeszukiwanego arkusza, więc znaleźć musi (chyba, że ktoś ręcznie "przeklepie").

    0
  • #18 04 Gru 2013 17:01
    473674
    Użytkownik usunął konto