Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Exel - automatyczne wypełnienie pola

24 Lis 2010 23:54 1804 12
  • Poziom 9  
    Witam

    Chciałbym żeby w moim pliku exelowskim po wybrania odpowiedniej wartości w wybranej komórce przypisała się odpowiednia wartość.

    Exel - automatyczne wypełnienie pola Exel - automatyczne wypełnienie pola

    A mianowicie w jednym z arkuszy nazwanym Lista mam zrobiona listę sprzętów i do każdego jest odpowiedni czas gwarancji (zdjecie1).
    W drugim arkuszu nazwanym Gwarancja w odpowiednim polu zaczytuje się lista sprzętów z arkusza Lista i chciałbym żeby po wybraniu np. cos2 (zdjecie2) w polu zaznaczanym za żółto wczytał się czas gwarancji.

    Mam nadzieje że w miarę zrozumiale to wytłumaczyłem

    Z góry dzięki za pomoc
    Pozdrawiam
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • Poziom 22  
    Proponuję w tym żółtym polu skorzystać z funkcji WYSZUKAJ.PIONOWO
  • Poziom 9  
    próbowałem już tej funkcji i mi nie wychodziło nic. w żółtym polu uzyskiwałem takie coś ######
  • Użytkownik usunął konto  
  • Poziom 22  
    Jeśli takich komórek w kolumnie miałoby być dużo więcej, to szerokość kolumny dobrą dla wszystkich wartości można uzyskać klikając (dwuklik) w miejscu między kolumnami.
    Exel - automatyczne wypełnienie pola
  • Poziom 9  
    Sorry mój błąd. Pokazuje mi #ADR! a nie ####
    a w żółtej komórce wpisuje takie coś =WYSZUKAJ.PIONOWO(B11;Lista!A1:A500;2)

    jakby co dodaje przykładowy plik
  • Użytkownik usunął konto  
  • Pomocny post
    Poziom 40  
    Po pierwsze:
    Chcesz pobierać dane z kolumny drugiej a w funkcji podałeś zakres jednokolumnowy.
    Po drugie:
    ten zapis co stworzyłeś (po powyższej poprawce) będzie działał prawidłowo tylko pod warunkiem że dane w arkuszu Lista będziesz miał posortowane rosnąco. Jeżeli będziesz miał dane "poszatkowane" trzeba dodać 0 na końcu formuły inaczej funkcja wyszukaj.pionowo() będzie ci w niektórych przypadkach wybierać inne dane (patrz pomoc funkcji). np ustaw w arkuszu Lista coś1 po coś4 i zobaczysz co będzie gdy nie "dołożysz" zera.

    Docelowo twoja formuła powinna wyglądać tak:
    =WYSZUKAJ.PIONOWO(B11;Lista!A1:B500;2;0)
  • Poziom 9  
    elegancko. o to mi chodziło ;D

    a istnieje jakiś sposób żeby po wprowadzeniu do komórki =WYSZUKAJ.PIONOWO(B11;Lista!A1:B500;2;0) została w niej ta funkcja pomimo tego że wprowadzi się dane ręcznie?

    a dokładniej chodzi mi o to że np:
    jak wybiorę sobie z listy cos2, automatycznie wpisze mi się w żółtym polu 2m ale jest potrzeba zmiany np na 3m i wpisze to ręcznie i powiedzmy że wydrukuje, następnie wybieram z listy cos5 i z 3m automatycznie wpisuje mi 5m

    dotychczas zauważyłem że jak zrobię taki manewr to funkcja mi się wymazuje i muszę cofać. dodam jeszcze że kombinowałem przez poprawność danych ale nie wychodzi ;/
  • Pomocny post
    Poziom 40  
    To już tylko z makrem. Inaczej się nie da.

    W obszarze arkusza "gwarancja" wprowadzasz np.

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    

    If Target.Row = 11 And Target.Column = 2 Then Range("E11").Formula = "=VLOOKUP(B11,Lista!A1:B500,2,0)"

    End Sub


    I przy każdej zmianie w b11 (row 11 i column2) nastąpi wpisanie formuły do E11

    poniżej przykład
  • Poziom 9  
    a czy ten sam kod będzie działać pod openoffice?

    bo wchodzę w openoffice w narzędzia->makra->zarządzaj makrami->makro i dodaje tam ten kod i nie bardzo to chodzi ;/
  • Poziom 40  
    Memec005 napisał:
    a czy ten sam kod będzie działać pod openoffice?


    Nie wiem.
    W gruncie rzeczy powinien, ale nie mam openoffice'a.
    Może to kwestia związana z nazewnictwem np. Worksheet_Change(ByVal Target As Range)
    Albo trzeba dokładniej określić miejsce danego zdarzenia.

    Może któryś z kolegów jest w stanie na to odpowiedzieć, ja mam za małą wiedzę :(.
  • Poziom 28  
    Cytat:
    a czy ten sam kod będzie działać pod openoffice?

    W OO działa. Sprawdzone.