Seite 1 von 1

Datum -> Alle Montage im Monat November ausrechnen

Verfasst: Mo, 30.10.2006 20:49
von chris786
Hallo
Ist es mit einem Makro möglich mir alle Monatage im November 2006 zu "errechnen"? Wie das ausgeben und weiterverarbeiten ist mir einigermaßen klar.
Mfg
Chris

Verfasst: Di, 31.10.2006 00:35
von Karolus
Hallo Chris

Als Makrofunktion für Calc könnte das etwa so aussehen :

Code: Alles auswählen

function montage(monat,jahr)

dim korrekt
dim montag
dim msg as variant

korrekt = 8-weekday(dateserial(jahr,monat,1)-1,2)
montag = dateserial(jahr,monat,1)-1+korrekt
msg = montag

while month(montag+7) = monat
montag = montag +7
msg = msg &","&montag
wend 
'msgbox(msg)
montage = split(msg,",")
End function
aus einer Calczelle mit :

=WERT(MONTAGE(monatszahl;4stell.Jahreszahl)
als Array-funktion mit [strg shift enter] abschliessen, und die Zellen als Datum formatieren.

Gruß Karo

Verfasst: Di, 31.10.2006 11:08
von chris786
Erstmal vielen Dank für deine Hilfe. Allerdings habe ich damit es funktioniert
noch eine Kleinigkeit ändern müßen.

Code: Alles auswählen

 dim montag
habe ich als

Code: Alles auswählen

dim montag as date 
definiert, damit ich das Datum und nicht irgendwelche Zahlen erhalte.
DANKE
Chris

Ergänzende Frage

Verfasst: Fr, 24.11.2006 15:56
von chris786
Hallo
Das Code Beispiel funktioniert, allerdings nur für November 2006.
Ich habe versucht es so zu modifizieren, das ich beliebig den Monat und das Jahr definieren kann und es mir für das entsprechende Jahr und den Monat jeweils die Montag ausgibt. Aber leider ohne Erfolg, ....
Kann mir nochmal jemand helfen.
Chris

Verfasst: Fr, 24.11.2006 19:26
von Karolus
Hallo Chris

Du musst doch garnichts modifizieren, sondern nur mit den entsprechenden Parametern als Funktion aus einer Zelle aufrufen, zb. für April 2007 :

=WERT(MONTAGE(4;2007)

Gruß Karo