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 - Markownik: grafik i jego formatowanie

JaroFon 13 Gru 2015 11:19 732 10
  • #1 13 Gru 2015 11:19
    JaroFon
    Poziom 23  

    Witam. Pracuję nad nową wersją mojego markownika. Mam 2 problemy które nie wiem jak rozwiązać. Pierwszy problem to wzorzec który pokazuje typ grafiku.

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Ogólnie moja wersja wzorca pracuje prawidłowo ale pracuje na 31 zakresach (zakresy Graf1 do Graf31) odpowiednich dla każdego dnia.Czy można jakoś inaczej opracować ten wzorzec aby nie trzeba było odnosić się zą do 31 zakresów? Ogólnie to wzorzec musi pokazać odpowiedni grafik na podstawie dwóch warunków, jeden warunek znajduje się w kolumnie E a drugi w kolumnie G arkusza "Markownik" i na podstawie tych dwóch warunków ma pokazać grafik z odpowiedniego dnia (grafik znajduje się w w arkuszu "Grafik"). Drugi problem to formatowania warunkowe które zastosowałem. Zastosowałem trzy rodzaje formatowań: jeden to kolor niebieski jeśli pola są puste, drugi do kolor szary który pokazuje dni wolne i trzeci to inny odcień szarości który też pokazuje dni wolne. Ostatecznie formatowań jest 6 bo trzy są dla dolnego indexu a 3 dla górnego indexu. Problem z formatowaniami polega na tym że zakres formatowań sięga tylko do 263 wiersza i dalej się nie da ustawić, a ja potrzebuję aby formatowanie sięgało aż do 635 wiersza. Może szło by zastosować inny rodzaj formatowań tak aby zrobić tylko trzy formatowania aby działały na dwóch indexach górnym i dolnym. Bardzo proszę o pomoc. Dołączam plik

    0 10
  • Pomocny post
    #2 13 Gru 2015 19:43
    JRV
    Specjalista - VBA, Excel

    Dla formatowania zakres $H$4:$AL$635
    formula =ORAZ(MOD(WIERSZ(H4;3)=1;H6<1) - gorny
    =ORAZ(MOD(WIERSZ(H5;3)=2;H6<1) - dolny
    jeszcze 4 formuly (dla wolnych) potrafisz?

    p.s.
    Graf1...Graf31
    zamiast WYSZUKAJ.PIONOWO itd
    dla h6
    =INDEKS(Grafik!I:AM; PODAJ.POZYCJĘ($E6&$G4;Grafik!G:H;0);H$2)

    0
  • Pomocny post
    #4 14 Gru 2015 16:53
    JRV
    Specjalista - VBA, Excel

    JRV napisał:
    INDEKS(Grafik!I:AM; PODAJ.POZYCJĘ($E6&$G4;Grafik!G:H;0);H$2)

    Nie jest to ostateczny wzór, tylko zasada
    P.S.
    Przepraszam, cos nie tak tu
    P.P.S.
    A tak

    0
  • #6 18 Gru 2015 21:04
    JaroFon
    Poziom 23  

    Witam ponownie. Wrócę jeszcze do tematu grafiku. Zrobiłem opcję edytowania grafiku. Poniższym kodem robię dokładnie to co potrzebuję, jednak potrzebuję rozszerzyć działanie tego kodu, ale zanim to zrobię to muszę ograniczyć działanie poniższego kodu. Potrzebuję aby kod działał tylko na określonym zakresie komórek, a dokładnie na komórkach AV4:BZ98, i tylko w zakresie tych komórek miał by działać kod a w tej chwili działa na całym arkuszu. Próbuję wykorzystać funkcję Target.Address ale nic mi z tego nie wychodzi. Bardzo proszę o pomoc.

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • Pomocny post
    #7 18 Gru 2015 21:13
    JRV
    Specjalista - VBA, Excel

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #9 19 Gru 2015 06:32
    JaroFon
    Poziom 23  

    Myślałem że zadziała to po mojej myśli jak połączenie trzy zakresy tak jak to zrobiłem w poniższym kodzie ale jednak to nie działa. Kod zamyka się na pierwszym zakresie i nie działa na kolejnych dwóch zakresach. Jak zrobić aby kod działał poprawnie na tych trzech zakresach?

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #10 19 Gru 2015 07:57
    JRV
    Specjalista - VBA, Excel

    Bo nie zwrócił uwagę na 'Exit Sub'

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0