Wie berechnet man unter VBA die Kalenderwoche eines Datums?
Wenn möglich ohne Add-In, da das Makro auf einem anderen Rechner laufen muss.
Vielen Dank.
Christian
Wie berechnet man unter VBA die Kalenderwoche eines Datums?
Wenn möglich ohne Add-In, da das Makro auf einem anderen Rechner laufen muss.
Vielen Dank.
Christian
Kalenderwoche nach DIN
Function KALENDERWOCHE_DIN(Datum As Date) As Integer
'von Christoph Kremer, Aachen
'Berechnt die KW nach DIN 1355
Dim t&
t = DateSerial(Year(Datum + (8 - Weekday(Datum)) Mod 7 - 3), 1, 1)
KALENDERWOCHE_DIN = (Datum - t - 3 + (Weekday(t) + 1) Mod 7) \ 7 + 1
End Function
Oder im Register
Warum muß es so eine komlizierte Formel sein Erklärung von WF
Die Funktion KALENDERWOCHE rechnet falsch oder sagen wir es gnädiger: nach amerikanischem Standard. Der 01.01.2000 z.B. ist laut DIN die 52. KW des Jahres 1999; - in den USA die erste im Jahre 2000. Das hab ich mir irgendwann mal kopiert:
Erst 1976 wurde der Wochenbeginn auf Montag festgelegt. Die erste Woche des Jahres ist definiert als die Woche,in die mindestens 4 Tage fallen. Beides = DIN 1355 (1974) Entspricht der internationalen Norm ISO 8601 (1988); -übernommen von der EU als EN 28601 (1992) und in Deutschland als DIN EN 28601 (1993) umgesetzt.
=KÜRZEN((G6-WOCHENTAG(G6;2)-DATUM(JAHR(G6+4-WOCHENTAG(G6;2));1;-10))/7)&". KW"
von WF
Gruß ajo
Um die Kalenderwoche mit VBA zu ermitteln, kannst Du eine Funktion erstellen, die das Datum als Parameter nimmt und die entsprechende Kalenderwoche zurückgibt. Hier sind die Schritte:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Klicke auf Einfügen
und wähle Modul
, um ein neues Modul zu erstellen.
Füge den folgenden Code ein:
Function KALENDERWOCHE_DIN(Datum As Date) As Integer
Dim t As Date
t = DateSerial(Year(Datum + (8 - Weekday(Datum)) Mod 7 - 3), 1, 1)
KALENDERWOCHE_DIN = (Datum - t - 3 + (Weekday(t) + 1) Mod 7) \ 7 + 1
End Function
Schließe den VBA-Editor und kehre zu Excel zurück.
Verwende die Funktion in einer Zelle, indem Du beispielsweise =KALENDERWOCHE_DIN(A1)
eingibst, wobei A1 das Datum enthält, dessen Kalenderwoche Du berechnen möchtest.
Jetzt kannst Du mit der Funktion die Kalenderwoche ermitteln.
Fehler: #NAME?
Fehler: Falsche Kalenderwoche
Falls Du eine einfachere Methode bevorzugst, kannst Du die DatePart
-Funktion verwenden. Hier ist ein Beispiel:
Function KW_DIN(Datum As Date) As Integer
KW_DIN = DatePart("ww", Datum, vbMonday, vbFirstFourDays)
End Function
Diese Funktion gibt ebenfalls die Kalenderwoche zurück, jedoch basierend auf den ersten vier Tagen der Woche.
Hier sind einige praktische Beispiele, wie Du die Funktionen in Excel verwenden kannst:
Berechnung der aktuellen Kalenderwoche:
Sub AktuelleKalenderwoche()
Dim kw As Integer
kw = KALENDERWOCHE_DIN(Date)
MsgBox "Die aktuelle Kalenderwoche ist: " & kw
End Sub
Kalenderwoche aus einem bestimmten Datum ermitteln:
Wenn Du die Kalenderwoche für den 1. Januar 2023 ermitteln möchtest, kannst Du den folgenden Code verwenden:
Sub KW_Ermitteln()
Dim datum As Date
datum = #1/1/2023#
MsgBox "Die Kalenderwoche für " & datum & " ist: " & KALENDERWOCHE_DIN(datum)
End Sub
vba isokalenderwoche
, um die ISO-Standards zur Berechnung der Kalenderwoche zu verstehen und anzuwenden.outlook wochennummer anzeigen
-Funktion verwenden, um die Wochennummer direkt aus dem Outlook-Kalender abzurufen.1. Wie kann ich die Kalenderwoche für ein Datum in einer Zelle berechnen?
Du kannst die Funktion direkt in einer Zelle verwenden, z.B. =KALENDERWOCHE_DIN(A1)
.
2. Gibt es eine Möglichkeit, die Kalenderwoche ohne VBA zu berechnen?
Ja, Du kannst die Excel-Funktion =KÜRZEN((G6-WOCHENTAG(G6;2)-DATUM(JAHR(G6+4-WOCHENTAG(G6;2));1;-10))/7)&". KW"
verwenden, um die Kalenderwoche zu berechnen.
3. Wie kann ich die Kalenderwoche aus einem Datum im Format "JJJJ-MM-TT" ermitteln?
Stelle sicher, dass das Datum im richtigen Format vorliegt und benutze die oben genannten Funktionen, um die Kalenderwoche zu berechnen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen