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 - zaznaczanie ciągu kolorem

iodine77 13 Gru 2013 22:03 1749 8
  • #1 13 Gru 2013 22:03
    iodine77
    Poziom 6  

    W arkuszu mam tabele z kilkoma kolumnami z wartościami komórek =1 bądź pustymi.
    Jak stworzyć makro, które zmieni kolor wypełnienia komórek, jeśli w zakresie kolumny wystąpią kolejno min 4 powtórzenia komórek o wartości =1.
    (pomiędzy ciagiem "1" nie może być pustych komórek)

    0 8
  • #2 14 Gru 2013 08:56
    adamas_nt
    Moderator Programowanie

    Jeśli system zero-jedynkowy, to zsumuj i jeśli >3, koloruj. Bez VBA zrealizujesz przez formatowanie warunkowe...

    0
  • #3 14 Gru 2013 09:12
    iodine77
    Poziom 6  

    no wlasnie nie do końca, bo co jeśli w danej kolumnie wystąpi kilka razy ten ciag "1" ???
    a chciałabym, żeby zaznaczone były wszystkie ciagi powyżej 4 komorek "1", jeśli po takim ciągu jest pusta komorka i znow pojawilyby się ponad 4 jedynki to znow chciałabym aby zmienilo się wypelnienie. wydaje mi się, ze bez vba nie da rady.

    0
  • #4 14 Gru 2013 09:16
    cbrman
    Poziom 27  

    Przetestuj poniższe makro (przykład dla kolumny A):

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #5 14 Gru 2013 09:50
    iodine77
    Poziom 6  

    ok, makro działa, ale jeśli jeszcze chcielibyśmy je zmienić, tak by faktycznie zwracało uwagę czy w komórce jest 1, bo np. jeśli kolumna miałaby nagłówek to zliczy nagłówek jako "1"
    jeśli w kolumnie pojawia się kolejno, np. 11b1, to zostanie zakreślone to kolorem (wiem, ze nie wspominałam o tym wcześniej, ale nie znam się na vba:/) być może wystarczy dostawić w kodzie jakies polecenie if??

    0
  • #6 14 Gru 2013 17:26
    cbrman
    Poziom 27  

    iodine77 napisał:
    jeśli w kolumnie pojawia się kolejno, np. 11b1, to zostanie zakreślone to kolorem (wiem, ze nie wspominałam o tym wcześniej, ale nie znam się na vba:/) być może wystarczy dostawić w kodzie jakies polecenie if??


    W tym przypadku to nie jest kwestia znajomości VBA. Nie wspomniałaś o "drobnostce" która diametralnie zmienia kod.
    Teraz powinno działać zgodnie z założeniami.
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #7 14 Gru 2013 19:49
    iodine77
    Poziom 6  

    Teraz ok:) nie znam vba, także nie wiedziałam, że moja "drobnostka" aż tak zmieniłaby kod (bo założyłam sobie, że ten kod będzie rozpoznawał wartość 1 w komórce).
    Ale dziękuję bardzo za poświęcony czas!
    i już ostatnie pytanie jak zrobić, żeby makro działało dla wszystkich kolumn?? (bądź powiedzmy pierwszych 100 kolumn)

    0
  • Pomocny post
    #8 15 Gru 2013 23:42
    cbrman
    Poziom 27  

    Przetestuj poniższy kod (ilość kolumn do sprawdzenia jest brana na podstawie ilości zapełnionych komórek w wierszu 1).

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #9 16 Gru 2013 17:07
    iodine77
    Poziom 6  

    oki, dziękuję bardzo za pomoc!

    0
  Szukaj w 5mln produktów