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 - wprowadzanie danych na podstawie listy

Ninek007 29 Gru 2010 13:46 3768 2
  • #1 29 Gru 2010 13:46
    Ninek007
    Poziom 7  

    Zauważyłem, że na tym forum jest spore grono fachowców z Excela, wiec przedstawiam swój problem, może mi ktoś pomoże.

    Wprowadzane są dane w tabeli - w poszczególnych wierszach.
    W jednej z komórek muszę wprowadzić dane związane z określoną listą (lista ta ma kilkanaście pozycji, ale o bardzo długich nazwach - więc proste rozwiązanie typu "sprawdzanie poprawności danych/lista" odpada, gdyż nazwy te są zbyt długie, co zakłóciłoby przejrzystości tabeli).
    Marzy mi się np. takie rozwiązanie:

    Podwójne kliknięcie na komórkę (dajmy na to w kolumnie E) lub np. kliknięcie na jakiś przycisk-formant (czy inne tego typu działanie) spowodowałoby wyświetlenie się listy (lista tworzona na podstawie wpisów znajdujących się dajmy na to w X5:X25). Po wybraniu określonej pozycji (np. wskazanie i Enter, lub dwukrotne kliknięcie, czy inne działanie) spowoduje że w edytowanej komórce (w kolumnie E) zapisany zostanie numer z tej listy (np. 5 gdy wybrano pozycję piątą z listy).

    Może być inne rozwiązanie (powyższa propozycja stanowi dla mnie ideał) - w każdym bądź razie w aktualnie edytowanej komórce w kolumnie E ma pojawić się numer odpowiadający określonej pozycji ze zdefiniowanej listy (chodzi o to żeby użytkownicy mieli w miarę łatwe zadanie przy wprowadzaniu danych - w tej chwili przewijają arkusz, sprawdzają listę, wracają do kolumny E i wpisują wartość - co oczywiście jest uciążliwe i czasem ludzie mylą się przy wypełnianiu).

    Kombinowałem z formantem Listbox - ale (jako źródło danych podawałem listę z określonego zakresu) w polu LinkedCell trzeba wpisać konkretny adres komórki, a u mnie komórki się zmieniają (w ramach 1 kolumny). No i formant ten znajduje się "na sztywno" w arkuszu - ale to bym przebolał.
    Nie znam się za bardzo na programowaniu, ale na pewno można zrobić to za pomocą VBA, może dałoby się jakoś inaczej to rozwiązać. Ponieważ arkusz używany jest na różnych wersjach Excela - należy przyjąć rozwiązanie które będzie chodzić na Excelu 2000 wzwyż.

    Mam nadzieję, że jasno opisałem swój problem.
    Z góry dziękuję za wszelkie podpowiedzi i wskazówki

    0 2
  • Pomocny post
    #2 29 Gru 2010 20:53
    adamas_nt
    Moderator Programowanie

    Zerknij do załącznika. Kod w arkuszu + UserForm. Kod uruchamia dwuklik w zakresie E2-E22 ;)

    2
  • #3 29 Gru 2010 23:21
    Ninek007
    Poziom 7  

    Wielkie dzięki. Dokładnie o coś takiego chodziło.
    Przeanalizuję kod i z wielką przyjemnością wykorzystam. :)

    0