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 jak zrobić by dane z comboboxa były wyświetlane w innym arkuszu

Zieciu321 26 Sty 2014 19:25 1956 13
  • #1 26 Sty 2014 19:25
    Zieciu321
    Poziom 6  

    Witam,
    Mam problem, mianowicie nie wiem co zrobić by dane, które mogę wybrać w comboboxie zostały wyświetlone w innym arkuszu.
    Stworzyłem bazę klientów, którą sam dodaje ręcznie. Po czym jeśli chcę wybrać danego klienta wpisuje jego numer dowodu i zostaje przekierowany do comboboxa w którym mogę wybrać model i markę samochodu. Po zatwierdzeniu ma mi się to pokazać w arkuszu "WYPOZYCZENIA". Dane klienta(L.p, imię nazwisko, numer dowodu itp..) są kopiowane do arkusza "WYPOZYCZENIA" z innego arkusza, to mi działa, ale do każdego klienta powinien być jeszcze podany samochód, który wypożyczył i tutaj mam pytanie jak zrobić by combobox wyświetlał wybrane dane w arkuszu "WYPOZYCZENIA"[/syntax][/code]

    0 13
  • #2 26 Sty 2014 20:32
    JRV
    Specjalista - VBA, Excel

    Witam. Jeśli to możliwe, plik przykładowy

    0
  • #3 26 Sty 2014 20:40
    Zieciu321
    Poziom 6  

    VBA jak zrobić by dane z comboboxa były wyświetlane w innym arkuszu

    Wpadłem na to żeby dodało zawartość comboboxa do odpowiedniego arkusza, ale mam następny problem.
    Pierwszym krokiem w tym programie jest wybór klienta, po wyborze następuje przekopiowanie jego danych do odpowiedniego arkusza i kolumn a następnie wybranie z comboboxa samochodu. Gdy to zrobimy dane mają się pokazać zaraz koło klienta(u mnie jest to komórka g9) gdy dodamy ponownie klienta jego dane pojawiają się pod danymi poprzedniego i tak w kółko. I tu mam problem ponieważ informacje z comboboxa za miast umieszczać się odpowiednio od komórki g9 do nieskończoności umieszczają się tylko w komórce g9(nadpisując się, nie pokazuje poprzedniej tylko tą co wybraliśmy). Pomoże ktoś jak to rozwiązać?
    Z góry dzięki za pomoc:)

    0
  • #4 26 Sty 2014 20:52
    JRV
    Specjalista - VBA, Excel

    j - Jest to zmienna lokalna, nawet jeśli globalny, wciąż mówi się j=9

    j = ActiveCell.Row - tak chce
    jeśli aktywny arkusz jest "Wypozyczenia"
    na jakim arkuszu je ComboBox ?

    0
  • #5 26 Sty 2014 20:58
    Zieciu321
    Poziom 6  

    Ale jak to mam wpisać
    Dim j As Integer
    j = 9
    Worksheets("WYPOZYCZENIA").Cells(j, "g") = ComboBox1.Text
    j = j + 1


    i gdzie to mam wpisać? Bo kurcze próbowałem wszędzie i nic..
    ma to być podpięte po guzik(commandbutton1) arkusz jest taki jak był na początku a po prawej jest zaznaczone click

    0
  • #6 26 Sty 2014 21:04
    JRV
    Specjalista - VBA, Excel

    j = ActiveCell.Row zamiast j=9
    To najlepiej dołączyć plik Excel ze np. (dane klientów fikcyjny)

    0
  • #7 26 Sty 2014 21:07
    Zieciu321
    Poziom 6  

    dalej dane są wprowadzane do tej samej komórki g9, za każdym razem

    0
  • #8 26 Sty 2014 21:09
    adamas_nt
    Moderator Programowanie

    Pisał już kolega JRV... Zadeklaruj 'j' w global (na samej górze), nadaj wartość j=9 przy Activate i wyrzuć to (j=9) z kodu przycisku.

    Tyle, że przy następnym otwarciu formularza, znowu zacznie od 9.

    Wydaje mi sie, że powinieneś "pójść" po indeksie Combo. Przykład (załącz plik spakowany, jeśli xlsm) by sie przydał...

    0
  • #9 26 Sty 2014 21:12
    JRV
    Specjalista - VBA, Excel

    Niestety, nie jestem telepaty, nie widać gdzie przycisk, gdzie komboboks, który jest aktywnym arkusz

    0
  • #10 26 Sty 2014 21:19
    Zieciu321
    Poziom 6  

    Jest to w userform 4 arkusz samochody

    0
  • #11 26 Sty 2014 21:35
    adamas_nt
    Moderator Programowanie

    No nie wiem... Ja bym umieścił Combo z samochodami w UserForm3 i byłoby wszystko pod ręką. Chyba, że masz zamiar rozbudować to w przyszłości.

    Po wybraniu Nr dowodu osobistego należy wyszukać Nr wiersza w arkuszu "SAMOCHODY" (nejprościej stosując metodę 'Find' z komunikatem, jesli nie znajdzie) i (jesli dwa formularze) przypisać do zmiennej globalnej. Wybierasz samochód i przepisujesz dane z wyszukanego wiersza + wybrane autko...

    0
  • #12 26 Sty 2014 21:40
    Zieciu321
    Poziom 6  

    Moim zdaniem prościej jest tak jak ja mam. Dane mi się kopiują, a chodzi mi o to by dane z comboboxa były dodawane obok. Tylko nie wiem gdzie to mam wpisać, żeby te dane były pod sobą podawane za każdym razem jeśli chce dodać nowe.

    0
  • #13 26 Sty 2014 21:43
    JRV
    Specjalista - VBA, Excel

    Dla UserForm3

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #14 26 Sty 2014 22:01
    adamas_nt
    Moderator Programowanie

    Jak zwykle (z całym szacunkiem), upieram się przy swoim ;)

    Uzasadnienie:
    1. Wydajność kodu
    2. Jeśli powtórzy się pesel? (ktoś oddał, znowu wypożycza, wypożycza drugie)
    3. Łatwiej wyłapać błędy
    4. Hmm, eee, yyy, coś jeszcze wymyślę ;)

    Druga sprawa: lista samochodów powinna być aktualizowana. Nie powinno być na niej aut już wypożyczonych.

    0