Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Kalenderwoche aus Datum / VBA

Kalenderwoche aus Datum / VBA
09.11.2018 13:48:36
Tom
Hallo,
wie lasse ich mir das Datum aus einer bestimmten Zelle (B33) in (A13) als Kalenderwoche anzeigen?
Die Formel bzw. Funktion ist mir bekannt. Hätte das aber gerne über VBA gelöst.
Freue mich über eure Antworrten.
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kalenderwoche aus Datum / VBA
09.11.2018 13:53:00
JoWE
Hallo Tom,
gegoogelt:"Kalenderwoche aus Datum errechnen"
Ergebnis:
Sub test()
Dim zelle As Range
For Each zelle In Worksheets(1).Range("A:A").Cells
If IsDate(zelle.Value) = True Then
Worksheets(1).Cells(zelle.Row, 2).Value = WorksheetFunction.WeekNum(zelle.Value, 1) _
End If
Next zelle
End Sub

Gruß
Jochen
Anzeige
AW: Kalenderwoche aus Datum / VBA
09.11.2018 14:07:39
Luschi
Hallo JoWE,
solltest Du mal Deinen Vorschlag testen, dann wirst Du merken, daß dies für den
01.01.2017 in Deutschland nicht stimmen kann, denn das ist war Sonntag und zählt nach DIN-1355
zur Kalenderwoche des Vorjahres (52/2016 statt 1/2017).
Gruß von Luschi
aus klein-Paris
AW: Kalenderwoche aus Datum / VBA
09.11.2018 15:08:56
JoWE
Hallo Luschi,
danke für den Hinweis.
Wie geschrieben hatte ich nur gegoogelt und das Ergebnis gepostet.
Als Wegweiser zu einer möglichen Lösung war des Post aber doch nicht schlecht!!
Und ja, ich hätte auch erst einmal testen können.
Schönes WE
Jochen
Anzeige
AW: Kalenderwoche aus Datum / VBA
09.11.2018 13:53:56
PeterK
Hallo
DatePart("ww", Datum, vbMonday, vbFirstFourDays)
AW: Kalenderwoche aus Datum / VBA
09.11.2018 18:26:11
Werni
Hallo Tom
Sub KW()
[A13] = Application.WorksheetFunction.WeekNum([B33], 21)
End Sub

Gruss werni
AW: Kalenderwoche aus Datum / VBA
09.11.2018 13:54:05
Luschi
Hallo Tom,
schade, daß auch Du ein Google-Muffel bist, sonst würdest Du längst diese Lösung kennen:
https://www.excel-inside.de/vba-loesungen/datum-und-zeit/253-kalenderwochedin
Gruß von Luschi
aus klein-Paris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Kalenderwoche aus Datum mit VBA ermitteln


Schritt-für-Schritt-Anleitung

Um die Kalenderwoche aus einem Datum mit VBA zu ermitteln, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub KW()
       [A13] = Application.WorksheetFunction.WeekNum([B33], 21)
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. In Zelle B33 gib das Datum ein, für das du die Kalenderwoche ermitteln möchtest.

  6. Führe das Makro KW aus, um die Kalenderwoche in Zelle A13 anzuzeigen.


Häufige Fehler und Lösungen

  • Fehler: Falsche Kalenderwoche angezeigt

    • Lösung: Stelle sicher, dass du die richtige Rückgabewoche verwendest. Die Option 21 in WeekNum gibt die ISO-Kalenderwoche zurück.
  • Fehler: Makro funktioniert nicht

    • Lösung: Überprüfe, ob Makros in deiner Excel-Anwendung aktiviert sind. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter und aktiviere die Makros.

Alternative Methoden

Neben der Verwendung von VBA zur Ermittlung der Kalenderwoche gibt es auch andere Methoden:

  1. Formel in Excel: Du kannst die Funktion =KALENDERWOCHE(B33; 21) direkt in eine Zelle eingeben, um die Kalenderwoche zu berechnen.

  2. Excel Funktionen: Verwende DatePart("ww", [B33], vbMonday, vbFirstFourDays), um die Kalenderwoche zu erhalten.


Praktische Beispiele

  • Beispiel 1: Ermitteln der aktuellen Kalenderwoche

    Sub AktuelleKW()
      MsgBox "Die aktuelle Kalenderwoche ist: " & Application.WorksheetFunction.WeekNum(Date, 21)
    End Sub
  • Beispiel 2: Datum aus Kalenderwoche ermitteln

    Sub DatumAusKW()
      Dim kw As Integer
      Dim jahr As Integer
      kw = InputBox("Gib die Kalenderwoche ein:")
      jahr = InputBox("Gib das Jahr ein:")
      MsgBox "Das Datum der ersten Woche ist: " & DateAdd("ww", kw - 1, DateSerial(jahr, 1, 1))
    End Sub

Tipps für Profis

  • Wenn du mit der application.worksheetfunction.weeknum arbeitest, achte darauf, dass du den richtigen Modus (1 oder 21) wählst, um die gewünschte Kalenderwoche zu erhalten.
  • Du kannst die aktuelle Kalenderwoche mit dem Befehl vba aktuelle kalenderwoche direkt in deinen VBA-Code integrieren, um dynamische Berichte zu erstellen.

FAQ: Häufige Fragen

1. Wie kann ich die Kalenderwoche für ein Datum in einer anderen Zelle ermitteln? Um die Kalenderwoche für ein Datum in einer anderen Zelle (z.B. C5) zu ermitteln, ändere den Code zu:

[A13] = Application.WorksheetFunction.WeekNum([C5], 21)

2. Welche Excel-Version benötige ich? Diese VBA-Techniken funktionieren in den meisten modernen Excel-Versionen, einschließlich Excel 2016 und Excel 2019. Achte darauf, dass die VBA-Funktionalität aktiviert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige