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 Jaką składnie tutaj podać

alvarofun 08 Kwi 2012 20:55 4901 19
  • #1 08 Kwi 2012 20:55
    alvarofun
    Poziom 17  

    Piszę ten skrypt piszę i piszę i ciągle mi jakieś braki się pojawiają, już nie długo to sam będę udzielał pomocy xD, bo dużo się już nauczyłem :)

    mam problem z wypełnianiem tła w komórkach

    excel vba Jaką składnie tutaj podać

    w kolumnie "M" co miesiąc dni tygodnia się przestawiają

    Chciał bym żeby wiersz który w kolumnie "M" ma wartość "N" (czyli niedziela)
    był zaznaczony tłem na czerwono.

    Użyłem do tego celu rejestracji makra

    zarejestrowało mi pewną składnie, dodałem jej warunek IF i wyszło mi coś takiego

    Code:
    If Range("M20") = "N" Then
    

        Range("C20:L20").Select ' obszar który zostanie zaznaczony na czerwono
        With Selection.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 255
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
        End If


    i super udało mi się zaznaczyć wiersz z niedzielą na czerwono,
    problem w tym że zmieniając miesiąc, kolumna "M". Wiersz z niedzielą jest innym wierszem
    a wiersz zaznaczony na czerwono pomimo iż jest innym dniem tygodnia niż niedziela, dalej jest zaznaczony na czerwono.

    Jak to zmienić???

    żeby zawsze tylko ten wiersz który ma w kolumnie "m" niedziele nieważne w jakim miesiącu, był oznaczony na czerwono a wszystkie inne na biało.
    ?????

    0 19
  • #2 08 Kwi 2012 21:04
    marcin w
    Poziom 22  

    Powinieneś w pierwszej kolejności po zmianie wyczyścić formatowanie całego arkusza (mam na myśli kolory) i ponownie sformatować i zaznaczyć kolorami właściwe wiersze w zależności od tego gdzie występuje niedziela.

    Załącz plik z tym co do tej pory zrobiłeś.

    0
  • #3 08 Kwi 2012 21:08
    alvarofun
    Poziom 17  

    marcin w napisał:
    Powinieneś w pierwszej kolejności po zmianie wyczyścić formatowanie całego arkusza (mam na myśli kolory) i ponownie sformatować i zaznaczyć kolorami właściwe wiersze w zależności od tego gdzie występuje niedziela.


    no właśnie oto mi chodzi, tyle żeby to formatowanie następowało automatycznie przy zmianie na inny miesiąc

    Dodano po 1 [minuty]:

    jak to zrobić ???

    0
  • #4 08 Kwi 2012 21:10
    marcin w
    Poziom 22  

    Załacz plik, obejrzę jak wygląda aktualizacja kol "M" i może coś więcej pomogę.

    0
  • #5 08 Kwi 2012 21:27
    alvarofun
    Poziom 17  

    marcin w napisał:
    Załacz plik, obejrzę jak wygląda aktualizacja kol "M" i może coś więcej pomogę.


    kazdy wiersz w kol "M" ma funkcję
    Code:
    =JEŻELI(B20="";"";TEKST(B20;"ddd"))
    zmienia się tylko zakres w kazdej inny czyli jeden wiersz B20 drugi B21 trzeci B22 i tak dalej

    0
  • #6 08 Kwi 2012 21:42
    marcin w
    Poziom 22  

    Nie wiem jak zmieniasz miesiąc i gdzie jest on podany.

    Musisz wykryć zmianę miesiąca, po zmianie miesiąca wywołujesz makro które ustawia im kolor kolor biały, potem w drugim kroku ponownie sprawdzasz wartości w komórkach w kol. M, jeżeli jakaś ma N to kolorujesz cały wiersz. Drugi krok wykonujesz w pętli.

    To chyba będzie najprostsza i najszybsza metoda.

    0
  • #7 08 Kwi 2012 21:50
    adamas_nt
    Moderator Programowanie

    A dlaczego nie formatowaniem warunkowym?

    0
  • #8 08 Kwi 2012 21:56
    marcin w
    Poziom 22  

    adamas_nt napisał:
    A dlaczego nie formatowaniem warunkowym?


    Bo z tego co rozumiem kolega chce zmienić kolor wiersza w zależności od ostatniej komórki a nie pojedynczej komórki w kom "M". Przy formatowaniu warunkowym nie ma możliwości zmiany formatu większego obszaru w zależności od wartości w pojedynczej komórce.

    0
  • #9 08 Kwi 2012 22:03
    adamas_nt
    Moderator Programowanie

    alvarofun napisał:
    żeby zawsze tylko ten wiersz który ma w kolumnie "m" niedziele nieważne w jakim miesiącu, był oznaczony na czerwono a wszystkie inne na biało.
    excel vba Jaką składnie tutaj podać

    0
  • #10 08 Kwi 2012 22:19
    alvarofun
    Poziom 17  

    a jak napisać składnie że jeśli w kolumnie od M10 do M40 wystąpi "N" czyli niedziela to żeby cały wiersz z wartością n zaznaczyło na czerwono?

    0
  • #11 08 Kwi 2012 22:25
    adamas_nt
    Moderator Programowanie

    excel vba Jaką składnie tutaj podać

    Zmień zakres, edytując formułę. Zwróć uwagę na brak "$" przed numerem wiersza. Ot cała tajemnica ;)

    0
  • #12 08 Kwi 2012 22:29
    alvarofun
    Poziom 17  

    które formatowanie mam wybrać???

    excel vba Jaką składnie tutaj podać

    0
  • Pomocny post
    #13 08 Kwi 2012 22:30
    adamas_nt
    Moderator Programowanie

    Użyj formuły...

    0
  • #14 08 Kwi 2012 22:35
    alvarofun
    Poziom 17  

    tzn nie wiem już teraz kompletnie co mam tam wpisać.

    excel vba Jaką składnie tutaj podać

    0
  • Pomocny post
    #15 08 Kwi 2012 22:38
    adamas_nt
    Moderator Programowanie

    Zakres: =$B$10:$M$40, naciśnij [OK] i pokaż okno.

    0
  • #16 08 Kwi 2012 22:41
    alvarofun
    Poziom 17  

    dałem ok i wyszedł błąd

    excel vba Jaką składnie tutaj podać

    0
  • Pomocny post
    #17 08 Kwi 2012 22:42
    adamas_nt
    Moderator Programowanie

    Sorry, nie to okno. Wpisz: =$M10="N"

    0
  • Pomocny post
    #19 08 Kwi 2012 22:45
    adamas_nt
    Moderator Programowanie

    Dotyczy, wpisz: =$B$10:$M$40 i ustaw formatowanie w oknie edycji (tym poprzednim).

    W załączniku: Formatowanie warunkowe>zarządzaj regułami>wybierz:"ten arkusz"

    0
  • #20 08 Kwi 2012 22:52
    alvarofun
    Poziom 17  

    adamas_nt napisał:
    Dotyczy, wpisz: =$B$10:$M$40 i ustaw formatowanie w oknie edycji (tym poprzednim).



    Działa xD xD

    Stary ty sobie chyba nawet nie zdajesz sprawy jaki ty jesteś zajebisty, gdybym cie znał na realu to litra bym ci od kopa postawił za to wszystko, bez kitu.

    0