Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

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

amator_piotr 08 Feb 2012 22:15 3111 6
  • #1
    amator_piotr
    Level 12  
    Code: vbscript
    Log in, to see the code


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

    Code: vbscript
    Log in, to see the code


    proszę o pomoc. z góry dzięki
  • Helpful post
    #2
    marcinj12
    Level 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?
  • #3
    amator_piotr
    Level 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
  • Helpful post
    #4
    marcinj12
    Level 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:
    Code: vbscript
    Log in, to see the code
    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:
    Code: vbscript
    Log in, to see the code
    , 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...??
  • #5
    amator_piotr
    Level 12  
    by moj maly blad przy przypisywaniu warunku. sorrki

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


    Code: vbscript
    Log in, to see the code


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

    Code: vbscript
    Log in, to see the code
  • Helpful post
    #6
    marcinj12
    Level 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
    Code: vbscript
    Log in, to see the code
    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...
  • #7
    amator_piotr
    Level 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.