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

[Excel] Wartość max i min w zbiorze

Gamblee 28 Sty 2012 15:41 3578 10
  • #1 28 Sty 2012 15:41
    Gamblee
    Poziom 9  

    Witam,
    Mam problem z wyszukaniem wartości min i max w określonym zbiorze.
    Przykład:
    Arkusz 1
    Kol A Kol B
    A 2
    A 6
    A 11
    A 15
    A 4
    A 6
    B 4
    B 6
    B 6
    B 7
    B 18
    Chciałbym, aby dane były pobierane do Arkusza 2, w taki sposób, żeby znajdowało max i min dla poszczególnej litery w kol A - czyli dla A min 2 i max 15. Poza tym jeżeli w zbiorze było by więcej liter, to żeby pobierało wartości tylko dla poszczególnych liter wyszczególnionych w arkuszu 2 w kol A. Pewnie nie obędzie się bez jakiegoś makra...

    Z góry dzięki za wszelką pomoc.

    0 10
  • Szkolenia elektronika Udemy
  • #2 28 Sty 2012 23:11
    Gamblee
    Poziom 9  

    To mój obecny kod:

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Dorobiłem dodatkowy arkusz test, do którego kopiuje wynik i tam szukam max. Kombinuje teraz, aby lista pobierała wartości z zakresu, a wartości wpisywane dokładnie w wierszu gdzie jest dana litera. Mam nadzieję, że wiecie o co mi chodzi:)

    0
  • Szkolenia elektronika Udemy
  • Pomocny post
    #3 31 Sty 2012 21:52
    adamas_nt
    Moderator Programowanie

    A dlaczego VBA? Zdaje się, że chcesz znaleźć warunkowo MIN i MAX. Spróbuj z formułą tablicową (zatwierdzasz Ctrl+Shift+Enter), Np

    [Excel] Wartość max i min w zbiorze

    i analogicznie dla MAX.

    0
  • #4 02 Lut 2012 01:44
    Gamblee
    Poziom 9  

    Dzięki wielkie! Rewelacja.
    Mam jeszcze pytanie, w sumie dwa.
    Pyt.1 Chciałbym makro które dla każdej litery pobierało by dane i zapisywało w nowym pliku (w nazwie litera, np. A.xls, B.xls itd.)

    Pyt. 2 Próbowałem wyszukiwanie za pomocą makra i kopiowanie całego wiersza. Do tej pory udało mi się to zrobić tylko z wyszukiwaniem z jednego pola, więc jeżeli chce wyszukać dane dla liter od A do D to muszę cztery razy wkleić w komórkę A1 literę (stąd makro pobiera dane). Sposób opiera się na zasadzie filtrowania.

    Mógłbyś mi jakoś pomóc.

    0
  • Pomocny post
    #5 02 Lut 2012 09:10
    adamas_nt
    Moderator Programowanie

    Może przeróbka Twojego makra? Dorobiłem pętlę, czyszczenie filtru, utworzenie i zapisanie nowego pliku, etc. Działa z plikiem z załącznika, wymaga "dopieszczenia".

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #6 04 Lut 2012 13:59
    Gamblee
    Poziom 9  

    Czy da sie zrobić listę na podstawię zakresu, np. od A2 do A4?

    0
  • #7 04 Lut 2012 17:19
    adamas_nt
    Moderator Programowanie

    Da się. Np:

    Code:
     vList = Array([a2], [a3], [a4])

    0
  • #8 12 Lut 2012 15:20
    Gamblee
    Poziom 9  

    No tak, tylko bardziej mi chodziło o listę na zasadzie Range("a2:a4"). Niestety ten sposób nie działa, a też nie chce wpisywać 20 czy 30 wartości.

    0
  • #9 12 Lut 2012 18:06
    adamas_nt
    Moderator Programowanie

    Spróbuj z tablicą. Przykład:

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #10 12 Lut 2012 19:29
    Gamblee
    Poziom 9  

    Msg Box pokazuje dobrze, ale w momencie zastosowania filtru mam: "Run-time error '9': Subscript out of range.

    0
  • #11 13 Lut 2012 00:09
    walek33
    Poziom 28  

    Co w wolnym tłumaczeniu znaczy, że jesteś poza zakresem. :cry:

    0