Avatar billede trajkovski Nybegynder
08. april 2009 - 14:43

Kalender uden weekender (vba)

Hej


Jeg forsøger at lave en kalender for den følgende måned.

Min kode ser ud som følger:
str_month = UCase(MonthName(month(WorksheetFunction.EDate(Now, 1))))
str_week = DatePart("ww", month(WorksheetFunction.EDate(Now, 1)) & "/1/" & Year(WorksheetFunction.EDate(Now, 1)))
first_day_of_week = WeekdayName(Weekday(DateSerial(Year(Now), month(Now), 1), vbMonday), False, vbMonday)
   
    Sheets("test").Select
    Range("A2") = "Måned: " & str_month
    Range("A3") = "Uge " & str_week
    Range("A4") = first_day_of_week & " d. 1/" & month(Now) & "/" & Right(Year(Now), 2)
    Range("A5") = month(Now)
    Range("A6") = what_month & "/1/" & Year(Now)
    Range("A7") = Date
    Range("A8") = Now
    Range("A9") = dhFirstDayInMonth
    Range("A10") = DateSerial(Year(Now), month(Now), 1)
    Range("A11") = WeekdayName(Weekday(DateSerial(Year(Now), month(Now), 1), vbMonday), False, vbMonday)
    Range("A12") = month(WorksheetFunction.EDate(Now, 1))
    Range("A13") = month(WorksheetFunction.EDate(Now, 1)) & "/1/" & Year(WorksheetFunction.EDate(Now, 1))


Kalenderen skulle gerne skrive navnet på den følgende måned i A1. Her har jeg forsøgt en del forskelligt, hvor det seneste er edato. Jeg er bare nervøs for, om edato hopper 30 dage frem, eller hvad den gør - en der ved det?
Jeg er nemlig lidt nervøs for, at hvis man er i januar, og hopper 30 dage frem, så kan man jo springe februar over.

I A2 skulle den skrive ugenummeret på den første uge i måneden (eksempelvis den uge som d. 1/5-09 er i (18)). Her har jeg mest forsøgt mig med datepart, men jeg kludrer i det.

I A3 skulle den skrive dagen og dato (eksempelvis "fredag d. 1/5" for d. 1/5-09).

Jeg ønsker at springe weekender over. Det tænker jeg, at jeg kan bruge weekday til og bare tjekke, om den er lig med 1 (søndag) eller 7 (lørdag). For maj 09 skulle der derfor i A4 stå ugenummeret for uge nr. to i måneden (eksempelvis "19" for maj 09).

I A5 skulle den så skrive datoen for den anden hverdag i måneden (eksempelvis "mandag d. 6/5").

Dette havde jeg så tænkt mig at lave en løkke med, som skulle afsluttes, når der ikke var flere dage i måneden. Men jeg har endnu ikke fundet en metode til at tælle, hvor mange dage der er i en given måned.


Jeg håber, I kan hjælpe!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester