VBA IsDate - Wie verwende ich die Excel VBA IsDate-Funktion?

Inhaltsverzeichnis

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.

Der 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?

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

Für diesen ersten Start 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

Der 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.

Wow!!! 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 zu erkennen Das Ergebnis ist WAHR.

Jetzt kommt die schwierige Sache, für den gleichen Wert 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, also das Ergebnis ist falsch.

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 ein Format für einen ganzen Tag und einen 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 dieses Mal haben wir das Ergebnis als WAHR erhalten, da DATUM & ZEIT in Excel dieselben Dinge sind und als Seriennummern gespeichert werden. Die ganze Zahl repräsentiert den Datumsanteil und Dezimalstellen repräsentieren 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.

Interessante Beiträge...