Wie Sie mit VBA die Anzahl Kalenderwochen bestimmen

So bestimmen Sie die Anzahl der Kalenderwochen im Jahr

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.

Nach der DIN1355-Norm kann ein Jahr 52 oder 53 Kalenderwochen enthalten. Wenn der 01.01 und/oder 31.12. des Jahres ein Donnerstag ist, hat das Jahr 53 Wochen. In diesem Beitrag zeige ich Ihnen wie Sie eine eigene Excel Funktion erstellen, um die Kalenderwochen eines Jahres zu zählen.

111 VBA Makros die Ihr Leben leichter machen. Egal ob Sie Einsteiger oder fortgeschrittener Anwender sind – in diesem Buch finden Sie Lösungen für Ihre alltäglichen Aufgaben. Keine Vorkenntnisse notwendig.

Legen Sie dazu ein neues Modul ein, indem Sie mit ALT+F11 in die Entwicklungsumgebung wechseln. In diesem Modul erstellen wir eine benutzerdefinierte Funktion ZaehleWochen. Dieser wird eine Jahreszahl über die Variable lngJahr übergeben. Anschließend ermitteln wir über die DataPart-Funktion die Wochentage für den 01.01. und 31.12. des Jahres lngJahr. Dieses Datum (z.B. 01.01.2017) wird über die Funktion DateSerial erstellt.
Wie Sie mit Excel VBA Wochen eines Jahres zählen
Die Funktion DatePart gibt je nach Wochentag eine Zahl von 1 bis 7 zurück. Dabei geben wir an, dass unsere Woche mit einem Montag anfängt. Die Ergebnisse der DatePart Funktion werden in den Variablen lngTag1 und lngTag2 gespeichert.

Anschließend erfolgt die Überprüfung des Wochentags und die Zuweisung der Anzahl Kalenderwochen über eine If-Anweisung.

Der gesamte Code sieht wie folgt aus:


Function ZaehleWochen(lngJahr As Integer) As Long
Dim lngTag1 As Long
Dim lngTag2 As Long

'Wochentag des 1. Januar
lngTag1 = DatePart("w", DateSerial(lngJahr, 1, 1), vbMonday)

'Wochentag des 31. Dezember
lngTag2 = DatePart("w", DateSerial(lngJahr, 12, 31), vbMonday)

'Prüfe, ob erster oder letzter Tag des Jahres ein
'Donnerstag ist

If lngTag1 = 4 Or lngTag2 = 4 Then
ZaehleWochen = 53
Else
ZaehleWochen = 52
End If
End Function

Unternehmensplanung mit SAP BPC

111 VBA Makros die Ihr Leben leichter machen

Wollen Sie Ihre langweiligen Routineaufgaben loswerden? Möchten Sie Excel an Ihre Bedürfnisse anpassen, Berechnungen automatisieren, eigene Dialogfelder erstellen und vieles mehr? Dieses Buch zeigt Ihnen, wie Sie Ihre Aufgaben schnell und einfach mit VBA erledigen.

Nun steht die Funktion in Excel zur Verfügung und kann ganz normal verwendet werden.
So zählen Sie Kalenderwochen mit Excel VBA

Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - In meinem Newsletter gebe ich Schritt für Schritt Anleitungen die jeder versteht
  • Bei der Anmeldung zu meinem Newsletter erhälst du das Buch „Excel Tricks die deinen Chef beeindrucken“ als Willkommensgeschenk.
20 Excel Tricks

Jetzt anfordern!

* Pflichtfeld
 
Kein SPAM. 100% sicher.

Weiterführende Links:
DatePart Funktion
DateSerial Funktion
Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

Bildquelle: Pixabay, CC0 Public Domain

1 Kommentar

Trackbacks & Pingbacks

  1. […] in Zelle ausgeben Sonderzeichen entfernen Prüfen, ob ein Bereich leer ist Auf Ablaufdatum prüfen Anzahl Kalenderwochen bestimmen Modul-Funktionen Prüfen ob eine Tabelle existiert Existenz der Arbeitsmappe prüfen Prüfen ob […]

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.