Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Excel/Makra - Wyszukiwanie po kolumnie i zwracanie wartości

marcin90pl 28 Mar 2013 11:11 2364 2
  • #1 28 Mar 2013 11:11
    marcin90pl
    Poziom 8  

    Witajcie.
    Mam problem natury programistycznej, a może tylko formułowej w pracy z excelem. Próbuje stworzyć coś na kształt kalendarza uzupełnianego dynamicznie. W jednym arkuszu "Zadania" mam w kolumnie A nazwę zadania do wykonania (blacha 1, blacha 2 itd), a w kolumnie B termin wykonania. W drugim arkuszu "Marzec" mam ładnie podzielone dni miesiąca marca na 6 wiersz x 1 kolumna (data oraz 5 zadań w danym dniu do zrobienia). Chcę, aby w arkuszu "Marzec" (a później i w kolejnych) w odpowiedniej komórce znalazło się zadanie, które ma datę taką samą jak wiersz z arkusza "Marzec". Do tej pory wymyśliłem kombinację funkcji "wyszukaj" oraz "jeżeli", którą umieściłem w komórce arkusza "Marzec" i która bierze datę z komórki wyżej (data wpisana ręcznie) i szuka takiej daty w arkuszu "zadania" i po znalezieniu zwraca jako wynik komórkę z treścią zadania. Działało to na zasadzie, że znalazł pierwszą datę pasującą do tej komórki i wypisywał poprawnie zadanie jej odpowiadające, ale nie szukał dalej i w następnym wierszu zwracał ten sam wynik. Trzeba by zrobić coś na zasadzie pętli z pominięciem już znalezionych wyników. Kombinowałem ze zmianą zakresu wyszukiwania itd, ale gdy tylko zmieni się gdzieś datę zadania to i posortuje wg daty to się znowu wszystko sypie. W załączniku plik, w którym widać mniej więcej co chcę zrobić. Makr pisać nie umiem, podstawy programowania znam, a nie chcę uczyć się języka VBA żeby napisać jedno makro. Jeśli ktoś potrafi mi pomóc to będę bardzo wdzięczny.

  • #2 28 Mar 2013 15:47
    adamas_nt
    Moderator Programowanie

    Wykorzystując kolumnę pomocniczą i formuły tablicowe, można zadanie wykonać bez VBA. Dwa minusy: kolejność zadań jest odwrotna (tu można by jeszcze coś wykombinować) i przy takiej ilości formuł tablicowych przeliczanie arkusza będzie... no, chwilę trwało. Jeśli Ci to nie przeszkadza... Oczywiście przeliczanie można wyłączyć (dla spokojności nerwów) a przeliczać "ręcznie" przed wydrukiem/podglądem kalendarza.

    Pętla, a właściwie kilka zagnieżdżonych, wypełnią kalendarz zdecydowanie szybciej.

  • #3 28 Mar 2013 23:50
    marcin90pl
    Poziom 8  

    Dziękuję bardzo za odpowiedź. Wszystko działa, ale tylko dla pierwszego rzędu dat. Wpisując w drugi rząd dat tą samą formułę, zmieniając komórkę z której pobiera się datę i zmiana wiersz()-5 na wiersz()-11 niestety nie działa. Mógłbyś rozpisać formułę i wytłumaczyć co gdzie zmienić, żebym mógł już sam edytować kolejne wiersze i arkusze? Działa to trochę wolno, ale myślę, że po wprowadzeniu wszystkich pozycji (około 100) zmiana daty jednego czy dwóch nie będzie tak kłopotliwa. Chyba, że znasz sposób na przyspieszenie tego :D

    Dodano po 3 [godziny] 19 [minuty]:

    Witajcie ponownie. Już sobie poradziłem, formuła zwracała dobry wynik ale go nie wyświetlała. Pomogła kombinacja ctrl+shift+enter :) Jeśli nikt nie zna sprawniejszego sposobu to na tym pozostanę:)

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME