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 VBA - Zmiana koloru arkusza na podstawie danych w nim zawartych

Fozzy 19 Kwi 2016 21:16 747 9
  • #1 19 Kwi 2016 21:16
    Fozzy
    Poziom 4  

    Witam,

    Staram się napisać makro, które na podstawie wartości komórki w danym zakresie w arkuszu, zmieni jego kolor (jeżeli znajdzie daną wartość - tekst, w tym zakresie). Sprawdzanie i ewentualna zmiana koloru ma odbywać się we wszystkich arkuszach z wyjątkiem dwóch.

    Poniżej przedstawiam kod, który udało mi się napisać, jednak nie działa on gdyż ciągle wyskakuje komunikat: "Compile Error: Next without For".

    Kod: VBA
    Zaloguj się, aby zobaczyć kod



    Z góry dziękuję za pomoc.

    Pozdrawiam,
    Fozzy

    0 9
  • #2 19 Kwi 2016 21:30
    ZeeWolf
    Poziom 27  

    Nie męcz się z VBA, zastosuj formatowanie warunkowe.

    0
  • #3 19 Kwi 2016 21:37
    Fozzy
    Poziom 4  

    Wolałbym jednak użyć tego rozwiązania, gdyż chciałbym to makro połączyć z innym, które już wcześniej stworzyłem.
    Część kodu już mam, więc chciałbym go dokończyć chociażby w ramach nauki na przyszłość.

    0
  • Pomocny post
    #4 19 Kwi 2016 21:42
    ZeeWolf
    Poziom 27  

    Ok, chcesz wymyślać koło na nowo - proszę bardzo ;).
    Pętlę For Each zamykasz samym Next (bez zmiennej).

    0
  • #5 19 Kwi 2016 21:54
    Fozzy
    Poziom 4  

    Niestety w dalszym ciągu kod nie działa.
    Wciąż pojawia się ten sam błąd. Masz jeszcze jakiś pomysł co może być tego przyczyną?

    0
  • Pomocny post
    #6 19 Kwi 2016 22:17
    clubs
    Poziom 29  

    Witam

    Jak już to tak

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    0
  • #7 19 Kwi 2016 22:21
    Fozzy
    Poziom 4  

    Super, jednak chodziło i złą kolejność. ;)
    Wielkie dzięki za pomoc!

    0
  • #8 20 Kwi 2016 08:31
    Fozzy
    Poziom 4  

    Aktualnie kod wygląda następująca:

    Kod: VBA
    Zaloguj się, aby zobaczyć kod


    Jednak zamiast zmieniać kolor arkusza tylko jeśli znajdzie nim w przeszukiwanym zakresie dane słowo, to zmienia kolor wszystkich arkuszy z wyjątkim dwóch.

    Chciałbym również dodać ddatkowy warunek (żeby szukał w danym zakresie dwóch słów). Czy do tego wystarczy użyć ElseIf?

    0
  • #9 20 Kwi 2016 19:06
    clubs
    Poziom 29  

    Witam

    Jak chcesz użyć dwóch słów to np. (jeżeli pies lub coś)

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    0