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

Forumthread: VBA: mit datum rechnen

VBA: mit datum rechnen
Franz
Hallo Fachleute,
ich habe in einer UF zwei Textfelder eingefügt, in die jeweils ein Datum eingetragen wird. Diese Datümer sind Text, wie kann ich sie als Datum umformen. Mit dem Befehl "Format(Date, "?") - aber wie genau bitte.
Danke im Voraus und Grüße
Franz W.
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA: mit datum rechnen
01.05.2011 18:29:42
Hajo_Zi
Hallo Franz,
mit Format wird es text Cdate(Textbox1)

AW: VBA: mit datum rechnen
01.05.2011 18:39:03
Franz
Hallo Hajo,
super, danke, funktioniert..
Grüße
Franz W
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Mit VBA Datumswerte umformen und rechnen


Schritt-für-Schritt-Anleitung

  1. Textfelder erstellen: Stelle sicher, dass Du in Deiner Benutzerform (UserForm) zwei Textfelder (Textbox1 und Textbox2) eingefügt hast, in die Du die Datumswerte eingibst.

  2. VBA-Umwandlung: Um die Texte in Datumswerte umzuwandeln, kannst Du den folgenden VBA-Code verwenden:

    Dim datum1 As Date
    Dim datum2 As Date
    
    datum1 = CDate(TextBox1.Text)
    datum2 = CDate(TextBox2.Text)
  3. Formatierung: Wenn Du ein bestimmtes Datumsformat möchtest, kannst Du Format verwenden. Zum Beispiel:

    MsgBox Format(datum1, "dd.mm.yyyy")
  4. Rechnen mit Datumswerten: Du kannst nun mit den Datumswerten rechnen. Zum Beispiel, um die Differenz zu berechnen:

    Dim diff As Long
    diff = DateDiff("d", datum1, datum2) ' Differenz in Tagen
    MsgBox "Differenz in Tagen: " & diff

Häufige Fehler und Lösungen

  • Fehler: Typenkonflikt: Wenn Du einen Typenkonflikt erhältst, stelle sicher, dass das Textfeld tatsächlich ein Datum im richtigen Format enthält. Verwende IsDate() zur Überprüfung:

    If Not IsDate(TextBox1.Text) Then
       MsgBox "Bitte ein gültiges Datum eingeben."
    End If
  • Fehler: Formatierung funktioniert nicht: Wenn das Formatieren nicht funktioniert, überprüfe, ob das Datum korrekt in der Textbox eingegeben wurde. Es muss ein gültiges Datum sein, damit CDate korrekt funktioniert.


Alternative Methoden

Falls Du nicht mit VBA arbeiten möchtest, kannst Du auch Excel-Formeln verwenden. Zum Beispiel:

  • DATUM-Funktion: Du kannst die DATUM-Funktion verwenden, um aus Jahr, Monat und Tag ein Datum zu erstellen:

    =DATUM(JAHR(A1); MONAT(A1); TAG(A1))

Diese Formel wandelt den Text in Zelle A1 in ein Datum um, sofern es im richtigen Format vorliegt.


Praktische Beispiele

Angenommen, Du hast in TextBox1 "01.01.2023" und in TextBox2 "10.01.2023" eingegeben. Der VBA-Code zur Berechnung der Differenz würde so aussehen:

Dim datum1 As Date
Dim datum2 As Date
datum1 = CDate(TextBox1.Text)
datum2 = CDate(TextBox2.Text)

Dim diff As Long
diff = DateDiff("d", datum1, datum2)
MsgBox "Differenz in Tagen: " & diff

Das Ergebnis wäre „Differenz in Tagen: 9“.


Tipps für Profis

  • Fehlerbehandlung: Implementiere Fehlerbehandlung, um Deine Benutzerform robuster zu machen:

    On Error GoTo Fehlerbehandlung
    ' Dein Code hier
    Exit Sub
    Fehlerbehandlung:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
  • Datenvalidierung: Stelle sicher, dass die eingegebenen Daten validiert werden. Nutze IsDate() und informiere den Benutzer über ungültige Eingaben.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass nur gültige Datumswerte eingegeben werden?
Verwende die IsDate()-Funktion, um zu überprüfen, ob der eingegebene Text ein gültiges Datum ist.

2. Kann ich mehrere Datumswerte gleichzeitig umwandeln?
Ja, Du kannst mehrere Textfelder in einer Schleife durchlaufen und die Werte mit CDate umwandeln.

3. Welche Excel-Version benötige ich?
Die beschriebenen Methoden sind in den meisten modernen Excel-Versionen verfügbar, die VBA unterstützen, wie Excel 2010 und später.

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