1.8k Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.3k Punkte)
Hallo,

ich habe eine excelformel, die bestimmt, welche Woche im Monat (1-5) ein bestimmtes Datum aufweist:
=KÜRZEN((T6-DATUM(JAHR(T6);MONAT(T6);0)+REST(DATUM(JAHR(T6);MONAT(T6);0);7)-2)/7)+1

Mir gelingt es aber leider nicht, diese Formel in einen entsprechenden Code umzuwandeln. Kann jemand helfen?
Danke und Gruß Andreas

4 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Andreas,

wie wär's damit

Option Explicit

Sub test()
MsgBox WorksheetFunction.WeekNum(Range("T6"), 21)
End Sub


Gruß
Rainer
0 Punkte
Beantwortet von ahorn38 Experte (3.3k Punkte)
Hallo Rainer,

danke, aber ich brauche die n-te Woche des Monats - nicht des Jahres, also jeweils die 1,2,.....5. Woche für eine Terminplanung.
Hast du noch eine Idee?
Gruß Andreas
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Andreas,

da habe ich Dich falsch verstanden.
So müsste es funktionieren.



Option Explicit

Sub test()
MsgBox Int((Range("T6") - DateSerial(Year(Range("T6")), Month(Range("T6")), 0) + DateSerial(Year(Range("T6")), Month(Range("T6")), 0) Mod 7 - 2) / 7 + 1)
End Sub


Gruß
Rainer
0 Punkte
Beantwortet von ahorn38 Experte (3.3k Punkte)
Hallo Rainer,

perfekt! Funktioniert einwandfrei. Ich hatte schon damit angefangen einen umständlichen Code aufzuschreiben, der das Problem lösen sollte - kann ich mir jetzt sparen.
Vielen Dank!
Gruß Andreas
...