Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Trzecia niedziela
toja




Typ: neutral
Postów: 31
Zarejestrowany: Apr 2005
Trzecia niedziela

Mam problem związany z zaznaczeniem trzeciej niedzieli. Dotyczy to instrukcji If, której nie mogę zrozumieć. Począwszy od komórki E6 do AI6, w których to komórkach pojawiają się dni tygodnia uzależnione od danego miesiąca, przypisane są w wierszu poniżej zmiany robocze dla danego pracownika( taki grafik pracy). Jeżeli taka zmiana, która jest zaznaczona jakąś wartością pojawi się w trzecią niedzielę, to powinno się pojawić MsgBox "Trzecia niedziela".
Musiało by to chyba byc związane z liczba 21 i metodą Offset, ale jak to związać to nie wiem.

Chyba,że ktoś ma inne rozwiązanie to proszę o pomoc.
Oczywiscie podałem ja wzór dla jednego pracownika, a może ich występować 50


------------------------
Marian

25-05-2005 12:23
Pokaż profil toja  Wyślij email do toja   
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

No nie wiem, czy byłoby to związane z liczbą 21...

Zauważ, że miesiąc może zaczynać się od dowolnego dnia tygodnia.
Aby wyliczyć 3 niedzielę w m-cu, trzeba uzyć sztuczki.

Zaraz postaram się to Tobie zobrazować i zostawię link do przykładu.


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

25-05-2005 12:51
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

Kliknij prawym klawiszem
tutaj i z menu wybierz 'zapisz obiekt docelowy jako...'.

W pliku masz przykład wyliczania dni w miesiącu,  zaznaczania wszystkich niedziel oraz wyróżnianiaa 3 niedzieli w miesiącu.
Kod można skrócić. To, co zrobiłem było "na chybcika".


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

25-05-2005 13:07
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
toja




Typ: neutral
Postów: 31
Zarejestrowany: Apr 2005

Bardzo ładnie w miesiacu zaznacza, ale jak to zrobić aby liczył od stycznia do grudnia i zaznaczał trzecią niedzielę tzn żeby była ciągłość
Czerwony kolor pokazywałby trzecią niedzielę liczac od stycznia
Przepraszam za dodatkowy problem, ale zauważyłem że właściwie o to mi chodziło:
Trzecia niedziela licząc od stycznia
------------------------------
Marian

25-05-2005 13:48
Pokaż profil toja  Wyślij email do toja   
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

To w wywołaniu procedury musisz zmienić tylko argument mc z Month(Date) na 1 i gotowe.

Odnośnie całego roku, to ustalanie dat granicznych dla bieżącego roku wygląda tak:
beg_date = DateSerial(Year(Date()), 1,1)
end_date = DateSerial(Year(Date()), 12 ,31)

Wtedy tylko pętla po datach i gotowe!

Zauważ tylko, że skoro daty masz w kolumnach, to zabraknie Ci kolumn!
Musiałbyś rozbijać miesiące na arkusze. Ale to też jest proste.

for mc = 1 to 12
beg_date = DateSerial(Year(Date()), mc,1)
end_date = DateSerial(Year(Date()), mc +1 ,1-1)
'tutaj poprzednie ciało procedury z tą zmianą, że:
ThisWorkbook.Worksheets(mc).Cells(k + 5, j) = Day(CDate(i))
Next mc

[Post edytowany dnia 25-05-2005 14:01 przez losmac]


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

25-05-2005 13:54
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
Wszystkich odpowiedzi: 4 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1