Excel VBA CDate-Funktion

Haben Sie von der Funktion oder dem Befehl gehört, mit der wir alles in Datum und Uhrzeit umwandeln können? Ja, zusammen mit der Datumsfunktion haben wir die CDate-Funktion in VBA, die dies tut. CDate ist die Funktion von Excel, kann aber auch in VBA ausgeführt werden. CDate konvertiert alles andere als in das Standard-Datumsformat. Dies kann zusammen mit dem Datum auch zur Zeitumrechnung verwendet werden.

Die Syntax von CDate ist die einfachste Syntax, die wir jemals gesehen haben. CDate berücksichtigt nur Ausdrücke wie Datum und Uhrzeit in einem beliebigen Format als Eingabe. Nachfolgend finden Sie die Syntax.

Wir müssen nur eine beliebige Zahl, ein Datum oder eine Uhrzeit in einem beliebigen Format eingeben, und CDate konvertiert diese automatisch in das Standardformat für Datum und Uhrzeit.

Wie benutze ich die Excel VBA CDate Funktion?

Anhand einiger Beispiele in Excel lernen wir, wie man eine VBA-CDate-Funktion verwendet.

Sie können diese VBA CDate Excel-Vorlage hier herunterladen - VBA CDate Excel-Vorlage

VBA CDate - Beispiel # 1

Wir werden zuerst ein einfaches Beispiel nehmen. In diesem Beispiel wird versucht, einen einfachen Datumstyp in ein Standardformat zu konvertieren, das standardmäßig in Excel integriert ist.

Führen Sie die folgenden Schritte aus, um die CDate-Funktion in VBA zu verwenden.

Schritt 1: Öffnen Sie ein Modul, das auf der Registerkarte Einfügen verfügbar ist (siehe Abbildung unten).

Schritt 2: Schreiben Sie nun die Unterprozedur von VBA CDate in einen beliebigen Namen, wie unten gezeigt. Es wird jedoch empfohlen, den Namen der Unterprozedur hauptsächlich in den Namen der ausgeführten Arbeit zu schreiben.

Code:

 Sub VBA_CDate () End Sub 

Schritt 3: Deklarieren Sie nun eine Variable, sagen wir, sie ist Input1 als String . Betrachtet man den Datentyp als String, wird die Eingabe in der Kombination aus Zahlen und Buchstaben in Anführungszeichen gesetzt.

Code:

 Sub VBA_CDate () Dim Input1 As String End Sub 

Schritt 4: Jetzt deklarieren wir eine weitere Variable, anhand derer wir die Ausgabe sehen. Und diese Variable wird verwendet, um die Daten anzuzeigen.

Code:

 Sub VBA_CDate () Dim Input1 As String Dim FormatDate As Date End Sub 

Schritt 5: Wählen Sie nun ein beliebiges Datum aus, das aus einer Kombination von Zahlen und Buchstaben besteht, und zitieren Sie dieses Datum in Anführungszeichen (siehe unten).

Code:

 Sub VBA_CDate () Dim Input1 As String Dim FormatDate As Date Input1 = "Sept 1, 2019" End Sub 

Schritt 6: Um das Eingabedatum in ein Standardformat zu konvertieren, verwenden wir die unten gezeigte CDate- Funktion mit der oben deklarierten FormatDate-Variable. Und verwenden Sie den in der Variablen Input1 gespeicherten Wert.

Code:

 Sub VBA_CDate () Dim Input1 As String Dim FormatDate As Date Input1 = "1. September 2019" FormatDate = CDate (Input1) End Sub 

Schritt 7: Um die Ausgabe zu sehen, verwenden wir Msgbox, um sie der FormatDate-Funktion von Date zuzuweisen.

Code:

 Sub VBA_CDate () Dim Input1 As String Dim FormatDate As Date Input1 = "1. September 2019" FormatDate = CDate (Input1) MsgBox FormatDate End Sub 

Schritt 8: Führen Sie nun den Code aus, indem Sie die Taste F5 drücken oder auf die Wiedergabetaste klicken. Wir erhalten das Datum, das wir als 1. September 2019 ausgewählt haben, und es wird nun wie unten gezeigt als 01.09.2013 in das Standard-Datumsformat konvertiert.

Wir können verschiedene Kombinationen von Datumsangaben ausprobieren und sehen, welche Art von Standardausgabe wir erhalten.

VBA CDate - Beispiel # 2

In diesem Beispiel sehen wir verschiedene Arten von Datum und Uhrzeit und welche Art von Ausgabe wir bei Verwendung von VBA CDate erhalten würden. Führen Sie dazu die folgenden Schritte aus:

Schritt 1: Schreiben Sie die Unterprozedur von VBA CDate wie unten gezeigt.

Code:

 Sub VBA_CDate2 () End Sub 

Schritt 2: Jetzt werden 3-4 verschiedene Variablen vom Datentyp Date deklariert. Lassen Sie uns die erste Variable als Date1 deklarieren und den Datentyp wie unten gezeigt als Date angeben.

Code:

 Sub VBA_CDate2 () Dim Date1 As Date End Sub 

Schritt 3: Weisen Sie nun eine beliebige Zahl zu, die wir in das Datumsformat konvertieren möchten. Wir haben eine Zufallszahl als 12345 gewählt.

Code:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" End Sub 

Schritt 4: Definieren Sie auf ähnliche Weise eine andere Variable Date2 als Datumstyp Date (siehe unten).

Code:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" Dim Date2 As Date End Sub 

Schritt 5: Ziehen Sie nun erneut in der Variablen Date2 in Betracht, ein Datum in einem beliebigen Format anzugeben. Hier haben wir den 03.12.45 als Datumseingabe beibehalten.

Code:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" Dim Date2 As Date Date2 = "12/3/45" End Sub 

Schritt 6: Außerdem deklarieren wir erneut eine andere Variable Date3 als Date.

Code:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" Dim Date2 As Date Date2 = "12/3/45" Dim Date3 As Date End Sub 

Schritt 7: Hier weisen wir den Wert einer beliebigen Zeit, wie unten gezeigt, als 12:10 Uhr im 24-Stunden-Format zu.

Code:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" Dim Date2 As Date Date2 = "12/3/45" Dim Date3 As Date Date3 = "00:10:00" End Sub 

Schritt 8: Als letztes deklarieren wir eine weitere Date4-Variable als Date.

Code:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" Dim Date2 As Date Date2 = "12/3/45" Dim Date3 As Date Date3 = "00:10:00" Dim Date4 As Date End Sub 

Schritt 9: Und hier geben wir einen Dezimalwert wie 0, 123 an, oder Sie können einen beliebigen Wert auswählen.

Code:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" Dim Date2 As Date Date2 = "12/3/45" Dim Date3 As Date Date3 = "00:10:00" Dim Date4 As Date Date4 = "0.123" End Sub 

Jetzt gibt es zwei Möglichkeiten, die Ausgabe der Werte anzuzeigen, die in verschiedenen oben deklarierten Variablen gespeichert sind. Mit MsgBox können wir nur alle Werte gleichzeitig anzeigen. Mit Debug.print können wir jedoch alle ausgegebenen Variablen auf einmal anzeigen.

Schritt 10: Also, hier ist es besser, wenn wir Debug.Print wählen, wie unten gezeigt. Und weisen Sie in derselben Zeile alle Variablen ab Datum 1 bis Datum 4 zu.

Code:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" Dim Date2 As Date Date2 = "12/3/45" Dim Date3 As Date Date3 = "00:10:00" Dim Date4 As Date Date4 = "0.123" Debug. Print Date1, Date2, Date3, Date4 End Sub 

Schritt 11: Um die Ausgabe zu sehen, verwenden wir das folgende Direktfenster. Um darauf zuzugreifen, gehen Sie zur Registerkarte Ansicht und wählen Sie Sofortiges Fenster wie unten gezeigt.

Schritt 12: Führen Sie nun den Code aus, indem Sie die Taste F5 drücken oder auf die Wiedergabetaste klicken. Wir werden sehen, dass uns der Datentyp Datum die Ausgabe gegeben hat, aber nicht im Standard-Datenformat vorliegt.

Schritt 13: Um die Standarddaten herauszubekommen, werden wir auch hier CDate verwenden. Daher werden wir CDate für jedes Datum und jede Uhrzeit zuweisen, die wir für verschiedene Variablen verwendet haben (siehe unten).

Code:

 Sub VBA_CDate2 () Dim Date1 als Datum Date1 = CDate ("12345") Dim Date2 als Datum Date2 = CDate ("12/3/45") Dim Date3 als Datum Date3 = CDate ("00:10:00") Dim Date4 As Date Date4 = CDate ("0.123") Debug.Print Date1, Date2, Date3, Date4 End Sub 

Schritt 14: Führen Sie nun den Code aus, indem Sie die Taste F5 drücken oder auf die Wiedergabetaste klicken.

Wir werden sehen, dass die Ausgabe von Date und CDate gleich ist, aber es gibt einen grundlegenden gemeinsamen Unterschied zwischen beiden. Und das heißt, CDate kann alle Arten von Zahlen in das Standard-Datumsformat konvertieren.

Schritt 15: Lassen Sie uns einen beliebigen Text oder ein Alphabet mit CDate ausprobieren und sehen, was wir bekommen. Wir haben also einen zufälligen Text als abc in die Variable Date4 eingegeben .

Code:

 Sub VBA_CDate2 () Dim Date1 als Datum Date1 = CDate ("12345") Dim Date2 als Datum Date2 = CDate ("12/3/45") Dim Date3 als Datum Date3 = CDate ("00:10:00") Dim Date4 As Date Date4 = CDate ("abc") Debug.Print Date1, Date2, Date3, Date4 End Sub 

Schritt 16: Führen Sie nun den Code erneut aus. Wir erhalten ein Meldungsfeld mit einer Fehlermeldung als Type Mismatch . Dies liegt daran, dass CDate keinen Text lesen und in ein Standardformat für Datum und Uhrzeit konvertieren kann.

Vor- und Nachteile der Excel VBA CDate-Funktion

  • Dies kann nach Bedarf jedes Datum oder jede Uhrzeit in das Standardformat konvertieren.
  • VBA CDate interpretiert eine beliebige Zahl als Datumswert und konvertiert diese später in ein Standardformat.
  • Der Text kann nicht interpretiert und in das Datumsformat konvertiert werden.

Dinge, an die man sich erinnern sollte

  • CDate kann nur Zahlen als Eingabe betrachten, aber diese Zahlen können in jedem Format vorliegen.
  • Der Textwert kann nicht konvertiert werden.
  • Wenn wir eine Zeit oder ein Datum eingeben, die bzw. das bereits im Standardformat vorliegt, wird wieder der gleiche Wert wie bei der Ausgabe zurückgegeben.
  • Datums- und CDate-Funktion funktionieren auf die gleiche Weise. Während mit CDate sowohl Uhrzeit als auch Datum umgerechnet werden können.

Empfohlene Artikel

Dies ist eine Anleitung zur VBA CDate-Funktion. Hier wird die Verwendung der CDate-Funktion in Excel unter Verwendung von VBA-Code zusammen mit praktischen Beispielen und einer herunterladbaren Excel-Vorlage erläutert. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. VBA-Datumsformat
  2. Excel DATEDIF-Funktion
  3. VBA DateSerial
  4. Excel DATEDIF-Funktion

Kategorie: