Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VBa Excel, petla For Each, zmianna koloru i wartosci w komorkach

amator_piotr 08 Lut 2012 22:15 2394 6
  • #1 08 Lut 2012 22:15
    amator_piotr
    Poziom 12  

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    nie wiem czemu ale nie umiem znaleźć błędu.
    pętla kończy działanie na 16 wierszu.

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    proszę o pomoc. z góry dzięki

    0 6
  • Pomocny post
    #2 08 Lut 2012 23:47
    marcinj12
    Poziom 40  

    Ciężko powiedzieć bez pliku z danymi, nie widząc danych na których działa... A kiedy kończy działanie? Możesz wrzucić przykładowy plik i napisać kiedy był błąd?

    0
  • #3 09 Lut 2012 00:14
    amator_piotr
    Poziom 12  

    oto plik, chcialbym aby po sprawdzeniu daty w kolumnie "L" zostaly wpisane zmienne do kolumn "M" lub "M" i "N". najlepiej byloby aby bylo sprawdzane czy data ktora jest w arkuszu byla sprawdzana "codziennie" i wartosci zmiennych w tych kolumnach

    0
  • Pomocny post
    #4 09 Lut 2012 00:34
    marcinj12
    Poziom 40  

    Ja w tym kodzie błędów nie widzę - makro działa tak, jak je zapisałeś. Nie kończy się na wierszu 16, tylko ponieważ jest ono uruchamiana w zdarzeniu Change komórki, polecenie wpisujące coś do komórki:

    Kod: vb
    Zaloguj się, aby zobaczyć kod
    powoduje ponowne wywołanie zdarzenia zmiany (co może wyglądać przy debugowaniu jakby "przerywało" działanie), ale po krótkim sprawdzeniu że zmiana nie zaszła w kolumnie 11 lub 15, kontynuuje wykonywanie.

    Dalej robi dokładnie to, co zapisałeś w warunkach:
    Kod: vb
    Zaloguj się, aby zobaczyć kod
    , dla przykładu z załącznika: data w 12 kolumnie: L = 2011-01-15 nie jest ani dzisiejszą datą, więc pierwszej części If.. się nie wykona, nie jest też ona większa od daty dzisiejszej minus kolumna J, więc ElseIf też się nie wykona, zatem wykona się ostatnia część warunku: Else, gdzie w kolumny M i N wstawi pusty znak.
    Widać to jak coś się w nie wstawi przed odpaleniem makra.

    Więc...??

    0
  • #5 09 Lut 2012 00:43
    amator_piotr
    Poziom 12  

    by moj maly blad przy przypisywaniu warunku. sorrki

    tu byl ten may szczegolik ktorego nie......


    Kod: vb
    Zaloguj się, aby zobaczyć kod


    powiedz mi jak moglbym przerobic to tak aby kolumna 13 i 14 byly sprawdzane dodatkowo tzn pod katem tyc warunkow:

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • Pomocny post
    #6 09 Lut 2012 00:52
    marcinj12
    Poziom 40  

    Sorry, ale kompletnie nic nie rozumiem tego co chcesz osiągnąć... Jakie sprawdzanie? Jakich warunków? W kolumnie 13 i 14 docelowo masz napis: "Imediate test!", "Overdue!" albo "Call Soon!", jak chcesz go sprawdzać warunkiem porównującym zawartość komórki do daty

    Kod: vb
    Zaloguj się, aby zobaczyć kod
    Opisz może słowami co chcesz osiągnąć, to zobaczymy co da się zrobić, bo teraz za bardzo to wszystko zagmatwane jak dla mnie...

    0
  • #7 09 Lut 2012 01:08
    amator_piotr
    Poziom 12  

    jesli:

    - 14 dni przed terminem to: "A..."
    -5 dni przed uplywem terminu to: "B..."
    - >= data to "C..."

    chcialbym aby te warunki byly przypisywane do komurki w kolumnie 13 przy kazdej wystepujacej dacie w z kolumny 12 przy otwarciu pliku lub gdy data bedzie "starsza" o nastepny dzien.

    tzn obrazowo w wierszach od "4,5 ,6, .... ,n" kolumnie 12 sa rozne daty. natomiast warunki ktore opisalem wczesnie bylyby wpisywane w nastepnym wierszu i kolumnie 13. reszta jak wczesniej opisalem.

    0
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo