Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kalenderwoche in Sub abrufen

Forumthread: Kalenderwoche in Sub abrufen

Kalenderwoche in Sub abrufen
07.06.2019 09:16:40
MiaLeMe
Hallo zusammen,
Wieder mal eine Frage von mir:
Ich möchte vor dem Unloaden des UserForms1 nachdem er die Daten in die Tabelle übertragen hat abrufen lassen welcher Tag heute ist (an dem das UserForm ausgefüllt wurde) und dann die Kalenderwoche in "Tabelle1.Cells(1Zeile, 29).Value = Kalenderwoche" eintragen lassen.
Ich habe verschiedene Funktionen online gefunden, die die aktuelle Kalenderwoche abrufen, jedoch weiß ich nicht wie ich die so integriere dass er den Befehl automatisch vor dem Unloaden des UserForms ausführt.
Danke euch für eure Hilfe im Voraus!
LG
Mia le Mee
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kalenderwoche in Sub abrufen
07.06.2019 09:23:47
Torsten
Hallo,
dann musst du uns mal deinen Code zeigen. Dann koennen dir die Jungs und Maedels hier bestimmt auch helfen, dass dort zu integrieren.
Gruss
AW: Kalenderwoche in Sub abrufen
07.06.2019 09:26:03
UweD
Hallo
hilft dir das?
    MsgBox WorksheetFunction.WeekNum(Date, 21)
    
    'oder 
    
    MsgBox WorksheetFunction.IsoWeekNum(Date)

LG UweD
Anzeige
AW: Kalenderwoche in Sub abrufen
07.06.2019 09:31:59
Torsten
Hallo,
ich meinte eigentlich deinen gesamten Code, den du schon hast. Aber ok.
Du hast doch eigentlich die Loesung schon:
Tabelle1.Cells(1Zeile, 29).Value = WorksheetFunction.IsoWeekNum(Date)

,anstatt der Message Box, und das direkt for dem Befehl, die Userform zu unloaden.
Gruss
Anzeige
AW: Kalenderwoche in Sub abrufen
07.06.2019 09:32:50
Torsten
oh sorry Uwe, dachte der Fragesteller hat geantwortet. :-P
;
Anzeige
Anzeige

Infobox / Tutorial

Kalenderwoche in Excel VBA abrufen


Schritt-für-Schritt-Anleitung

Um die Kalenderwoche in einem UserForm vor dem Unloaden abzurufen und in eine Zelle zu schreiben, kannst du die folgenden Schritte befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (Alt + F11).

  2. Füge ein neues Modul hinzu oder öffne das Modul, das dein UserForm enthält.

  3. Füge den folgenden Code ein, um die Kalenderwoche abzurufen:

    Private Sub UserForm_QueryClose(Cancel As Integer)
       Dim aktuelleKalenderwoche As Integer
       aktuelleKalenderwoche = WorksheetFunction.IsoWeekNum(Date)
       Tabelle1.Cells(1, 29).Value = aktuelleKalenderwoche
    End Sub
    • Hier wird die Funktion IsoWeekNum verwendet, um die aktuelle Kalenderwoche abzurufen.
    • Die Kalenderwoche wird dann in die Zelle Tabelle1.Cells(1, 29) geschrieben.
  4. Speichere das Projekt und schließe den VBA-Editor.

  5. Teste das UserForm, um sicherzustellen, dass die Kalenderwoche korrekt eingetragen wird.


Häufige Fehler und Lösungen

  • Fehler: "Typenübereinstimmung"

    • Lösung: Stelle sicher, dass du die richtige Zelle in Tabelle1 auswählst. Überprüfe, ob Zeile korrekt initialisiert ist.
  • Fehler: "Funktion nicht gefunden"

    • Lösung: Vergewissere dich, dass die Excel-Version die IsoWeekNum-Funktion unterstützt. Diese Funktion ist in neueren Versionen (Excel 2013 und höher) verfügbar.

Alternative Methoden

Wenn du IsoWeekNum nicht verwenden kannst, gibt es alternative Möglichkeiten, die Kalenderwoche abzurufen:

  • Verwendung von WeekNum:

    Private Sub UserForm_QueryClose(Cancel As Integer)
       Dim aktuelleKalenderwoche As Integer
       aktuelleKalenderwoche = WorksheetFunction.WeekNum(Date, 21)
       Tabelle1.Cells(1, 29).Value = aktuelleKalenderwoche
    End Sub
  • Beachte, dass die zweite Argumentation 21 für die ISO-Woche steht.


Praktische Beispiele

Hier ist ein Beispiel, wie du den Code in deinem UserForm verwenden könntest:

Private Sub btnSpeichern_Click()
    ' Daten abspeichern
    ' ...

    ' Kalenderwoche abrufen
    Dim aktuelleKalenderwoche As Integer
    aktuelleKalenderwoche = WorksheetFunction.IsoWeekNum(Date)
    Tabelle1.Cells(1, 29).Value = aktuelleKalenderwoche

    ' UserForm schließen
    Unload Me
End Sub

In diesem Beispiel wird die Kalenderwoche abgerufen, nachdem die Daten gespeichert wurden.


Tipps für Profis

  • Debugging: Nutze Debug.Print um die Werte während der Ausführung zu testen.
  • Fehlerbehandlung: Implementiere On Error Resume Next, um mögliche Laufzeitfehler abzufangen, wenn die Funktion nicht verfügbar ist.
  • Versionskompatibilität: Überprüfe, ob die verwendeten Funktionen in deiner Excel-Version verfügbar sind.

FAQ: Häufige Fragen

1. Wie kann ich die Kalenderwoche in einer anderen Zelle speichern? Du kannst die Zelle einfach ändern, indem du die Zellenreferenz in Tabelle1.Cells(1, 29) anpasst.

2. Gibt es eine Möglichkeit, die Kalenderwoche für ein beliebiges Datum abzurufen? Ja, du kannst die Funktion IsoWeekNum auch mit einem spezifischen Datum verwenden, z.B. IsoWeekNum(#01/01/2023#).

3. Funktioniert das in jeder Excel-Version? Die IsoWeekNum-Funktion ist in Excel 2013 und höheren Versionen verfügbar. Für ältere Versionen kannst du die WeekNum-Funktion verwenden.

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