VBA IsDate-Funktion

Excel VBA IsDate-Funktion

IsDate ist die VBA-Funktion, die prüft, ob der angegebene Wert das Datum ist oder nicht. Wenn der angegebene Wert oder Bereichsreferenzwert ein Datumswert ist, erhalten wir das Ergebnis als "TRUE". Wenn der Wert kein Datumswert ist, erhalten wir das Ergebnis als "FALSE". Das Ergebnis ist also der BOOLEAN-Wert, dh entweder TRUE oder FALSE.

Unten finden Sie die Syntax der IsDate-Funktion.

Ausdruck ist nichts anderes als der Wert, den wir testen möchten, ob es sich um das Datum handelt oder nicht.

Wie verwende ich die VBA IsDate Funktion?

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

Wir werden testen, ob der Wert „5.01.19“ ein Datumswert ist oder nicht.

Starten Sie dazu zunächst die Excel-Makro-Prozedur.

Code:

 Sub IsDate_Example1 () End Sub 

Definieren Sie die Variable zum Speichern des Datumswerts. Da der Wert ein Datumswert ist, weisen Sie den Datentyp nur als "Datum" zu.

Code:

 Sub IsDate_Example1 () Dim MyDate As Date End Sub 

Weisen Sie nun der Variablen "MyDate" den Wert "5.1.19" zu.

Code:

 Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" End Sub 

Öffnen Sie jetzt das Meldungsfeld in VBA

Code:

 Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox (End Sub 

In diesem Meldungsfeld testen wir mithilfe der Funktion „IsDate“, ob der für die Variable „MyDate“ angegebene Datumswert das Datum ist oder nicht. Öffnen Sie zunächst die Funktion „IsDate“.

Code:

 Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox IsDate (End Sub 

Ausdruck ist der Wert, den wir testen, um festzustellen, ob es sich um Datum handelt oder nicht. Da wir den Wert bereits in der Variablen "MyDate" gespeichert haben, geben Sie nur den Variablennamen an.

Code:

 Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox IsDate (MyDate) End Sub 

Ok, jetzt führen Sie den Code aus und sehen Sie, was wir im Meldungsfeld erhalten.

Beeindruckend!!! Das Ergebnis ist WAHR .

Sie müssen sich fragen, wie der Wert „5.1.19“ als Datum erkannt wurde.

Der Grund, warum das Ergebnis als WAHR zurückgegeben wurde, denn wenn Sie sich den angegebenen Wert „5.1.19“ ansehen, handelt es sich um die Kurzform des Datums „05.01.2019“. Excel ist also brillant genug, um es als Datum und damit als Ergebnis zu erkennen ist wahr.

Jetzt kommt die knifflige Sache, für den gleichen Wert, den wir tun werden, werden wir die Kurzform des Jahres von 19 auf 2019 ändern.

Code:

 Sub IsDate_Example1 () Dim MyDate As String MyDate = "5.1.2019" MsgBox IsDate (MyDate) End Sub 

Führen Sie nun den Code aus und sehen Sie das Ergebnis.

Dieses Mal wurde das Ergebnis als FALSE zurückgegeben, da der Teil "Tag und Monat" des Datums in Kurzform vorliegt, der Jahresteil jedoch in voller Form "JJJJ" ist, sodass ISDATE nicht erkennen kann, dass es ein Datum hat, sodass das Ergebnis FALSCH ist.

Schauen Sie sich nun den folgenden Code an.

Code:

 Sub IsDate_Example1 () Dim MyDate As String MyDate = "05.01.2019" MsgBox IsDate (MyDate) End Sub 

Ich habe das Format für den ganzen Tag und den ganzen Monat mit 0 erwähnt. Lassen Sie uns den Code ausführen und das Ergebnis der IsDate-Funktion sehen.

Auch dieses Mal haben wir das Ergebnis als FALSE erhalten .

Ändern Sie nun den Code wie folgt.

Code:

 Sub IsDate_Example1 () Dim MyDate As String MyDate = "05/01/2019" MsgBox IsDate (MyDate) End Sub 

Anstelle des Punktes (.) Als Trennzeichen haben wir den Schrägstrich (/) als Trennzeichen eingegeben. Führen Sie nun den Code aus und sehen Sie das Ergebnis.

Diesmal haben wir das Ergebnis als WAHR erhalten .

Dies ist der Grund, warum ich Ihnen am Anfang des Artikels gesagt habe, dass „Datum“ eine sensible Sache ist.

Jetzt werde ich Datum und Uhrzeit zusammenführen.

Code:

 Sub IsDate_Example1 () Dim MyDate As String MyDate = "05/01/2019 15:26:24" MsgBox IsDate (MyDate) End Sub 

Was ich oben hinzugefügt habe, ist der Zeitabschnitt von „15:26:24“ vor dem Datum. Führen Sie nun den Code aus und sehen Sie das Ergebnis.

Auch diesmal haben wir das Ergebnis als WAHR erhalten, da DATUM & ZEIT in Excel die gleichen Dinge sind und als Seriennummern gespeichert werden. Die ganze Zahl steht für den Datumsanteil und die Dezimalstellen für den Zeitanteil.

Dinge, an die man sich hier erinnern sollte

  • IsDate gibt das Ergebnis vom Typ Boolean zurück, dh entweder TRUE oder FALSE.
  • IsDate ist nur als VBA-Funktion verfügbar.
  • Nur gültige formatierte Daten werden als Datum behandelt, andernfalls werden sie als Textwerte behandelt und das Ergebnis als FALSE zurückgegeben.