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.

makro uruchamiane przy zmianie zawartości komórki z listy

Herat 02 Lis 2012 14:55 5112 9
  • #1 02 Lis 2012 14:55
    Herat
    Poziom 8  

    Mam problem z napisaniem makra które działało by przy następującym zdarzeniu:

    Zmiana wartości w komórce a1 -(lista rozwijana) powodowała by odpowiedni wpis do komórki b12. (ten sam arkusz)

    np.
    komórka a1 - wybór z listy - "spec"
    w komórce b12 - pojawia się zapis - "4210"
    oraz w komórce b13 - pojawia się zapis - "4260"
    i tak dla kilkunastu pozycji z listy przyczym zapisy w komórkach b12 i b13 pobierane są z innego arkusza

    zmiany dokonywane są tylko w tych komórkach.
    Z góry dziękuje za pomoc. Może to łatwe ale nie mogę sobie z tym poradzić :cry:

    0 9
  • #2 06 Lis 2012 22:42
    adamas_nt
    Moderator Programowanie

    Zależy co ukrywasz pod pojęciem "lista rozwijalna". Od tego zależy, jakie funkcje należałoby użyć w arkuszu. Najlepiej wrzuć przykład w postaci pliku, koniecznie z ową listą...

    0
  • #4 08 Lis 2012 07:06
    adamas_nt
    Moderator Programowanie

    Hmm, zwykłe WYSZUKAJ.PIONOWO nie wystarczy, czy czegoś nie rozumiem?

    0
  • #5 08 Lis 2012 15:57
    Herat
    Poziom 8  

    I w tym problem. Formuła wyszukaj.pionowo jest bardzo dobra ale komórka ta jeszcze dodatkowo musi pozwalać na wpis z tzw. palca lub wybór z listy. Wyklucza to wpisanie na sztywno formuły.
    Może to zagmatwane ale takich wierszy z wpisem "paragraf" jest kilka (nie tylko dwa pokazane w przykladzie). W wierszu pierwszym zawsze jest wpis paragrafu (tu można zastosować formułę) ale już w drugim nie.
    Użytkownik może wpisać coś samodzielnie.
    Wiem że to zagmatwane ale księgowość budżetowa taka poprostu jest.
    Czyli muszę uzyskać wpis z formuły, z listy lub z palca.
    Mam nadzieję że to jest w miare czytelne, lepiej nie umiem tego wytłumaczyć. :?

    0
  • #6 08 Lis 2012 18:11
    marcinj12
    Poziom 40  

    Herat napisał:
    Czyli muszę uzyskać wpis z formuły, z listy lub z palca.
    W takim razie chyba faktycznie pozostaje makro. To na szczęście jest w miarę proste - obsługa zdarzenia Change arkusza Opis i wyszukanie wartości w arkuszu źródłowym plus sprawdzanie, czy przedtem użytkownik nie wprowadził czegoś do komórki z palca lub z listy:
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #7 26 Lis 2012 20:18
    Herat
    Poziom 8  

    Przepraszam że tak długo nie sprawdzałam twojego rozwiązania. Praca :x
    Niestety nie działa.
    Kod makra odwołuje się do komórki zmienianej "B1" a zmieniam "A1". to łatwo poprawić. Lecz po tej zmianie nadal nie działa. Niestety nie jestem zbyt zorientowana w VB by spróbować jakoś to poprawić. Nawet nie bardzo wiem dlaczego nie działa.
    Bardzo proszę o wyjaśnienie poszczególnych wierszy kodu, może uda mi się coś wykombinować. Powoli uczę się VB i takie wyjaśnienie pozwoliło by mi na dalszy postęp w nauce, i może także samodzielne poprawienie. Może tylko trzeba dopasować odwołania do komórek. :oops:

    0
  • #8 26 Lis 2012 21:50
    marcinj12
    Poziom 40  

    Co masz na myśli pisząc że "nie działa"? U mnie działa zgodnie z opisem...
    Komentarze do poszczególnych linii:

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #9 26 Lis 2012 22:19
    Herat
    Poziom 8  

    Nie działa tzn. po zmianie wartości w komórce a1 nic się nie wpisuje do komórek b12 i b13

    Dziękuję za wyjaśnienie poszczególnych wierszy , spróbuję zorientować się czemu nie działa u mnie.

    0
  • #10 26 Lis 2012 22:25
    marcinj12
    Poziom 40  

    A makra w Excelu masz włączone?? Wstaw sobie

    Kod: vb
    Zaloguj się, aby zobaczyć kod
    w różne miejsca w kodzie i zobacz, czy się wiadomość wyświetli...
    Rozumiem, że wkleiłaś makro do arkusza Opis??

    0