Bisherige VBA-Zeichenfolge

Bisherige Excel-VBA-Zeichenfolge

In Vba gibt es eine Methode, mit der wir eine bestimmte Zeichenfolge in ein Datum konvertieren können. Die Methode ist in vba als CDATE-Funktion bekannt. Dies ist eine in VBA integrierte Funktion, und die für diese Funktion erforderlichen Teile müssen zuerst die Zeichenfolge in konvertieren eine Zahl und dann konvertieren wir die angegebene Zahl in ein Datum. Das Ergebnisformat hängt nur vom Datumsformat des Systems ab.

Eines der häufigsten Probleme, mit denen wir alle bei Excel konfrontiert sind, ist „Datum und Uhrzeit“. Sie werden häufig als Textwerte gespeichert und bleiben zunächst unbemerkt. Wenn sie diese Zeit nutzen müssen, werden wir feststellen, dass diese Werte als Text gespeichert sind und überhaupt nicht wissen, wie sie damit umgehen sollen. "Datum & Uhrzeit" sind zwei kombinierte Dinge in einem Element, aber sobald diese Werte als Textwerte gespeichert sind, ist es schwierig, damit zu arbeiten.

Wie konvertiere ich String-Werte in Datum?

Sie können diese Excel-Vorlage für VBA-Zeichenfolgen auf Datum hier herunterladen - Excel-Vorlage für VBA-Zeichenfolgen auf Datum

Beispiel 1

Sobald die VBA-Variable deklariert und als Zeichenfolge zugewiesen wurde, wird alles, was dieser Variablen zugewiesen ist, nur als Zeichenfolge behandelt. Ein Beispiel finden Sie im folgenden Code.

Code:

 Sub String_To_Date () Dim k As String k = "10-21" MsgBox k End Sub 

In der obigen Codevariablen "k", die als Datentyp "String" definiert ist, haben wir für diese Variable den Wert "10-21" zugewiesen.

Ok, lassen Sie uns den Code ausführen und sehen, was wir in der Meldungsbox in VBA erhalten.

Wir haben den Wert nur als 10-21 erhalten, aber normalerweise sind diese Werte ein Datum und keine Zeichenfolgenwerte. Obwohl der zugewiesene Datentyp "String" ist, können wir mithilfe der Datentypkonvertierungsfunktion CDATE VBA dennoch auf das Datum konvertieren.

Code:

 Sub String_To_Date () Dim k As String k = "10-21" MsgBox CDate (k) End Sub 

Bevor wir das Ergebnis der Variablen "k" im Meldungsfeld anzeigen, haben wir oben die CDATE-Funktion zugewiesen. Es wird eine kleine Anpassung vorgenommen. Mal sehen, wie groß die Auswirkungen sind.

Jetzt würden wir das Ergebnis als "Datum" und nicht mehr als "String" -Wert sehen.

Beispiel 2

Schauen Sie sich nun den folgenden Code für ein Beispiel an.

Code:

 Sub String_To_Date () Dim k As String k = 43599 MsgBox k End Sub 

Zu diesem Zeitpunkt würde der obige Code das Ergebnis als "43599" anzeigen, wie wir es oben zugewiesen haben.

Sobald wir jedoch die CDATE-Funktion verwenden, wird sie in einen Datumswert konvertiert.

Code:

 Sub String_To_Date () Dim k As String k = 43599 MsgBox CDate (k) End Sub 

Das Ergebnis nach dem Anwenden der CDATE-Funktion ist wie folgt.

Da Excel das Datum als Seriennummer gespeichert hat, entspricht unsere zugewiesene Seriennummer 43599 dem Datum 14.05.2019, an dem das Datumsformat angewendet wird.

Wir können das Format auch auf das Datum als "TT-MMM-JJJJ" anwenden, um das Datum genau zu lesen.

Code:

 Sub String_To_Date1 () Dim k As String Dim DateValue As Date k = 43599 DateValue = CDate (k) MsgBox-Format (DateValue, "TT-MMM-JJJJ") End Sub 

Oben habe ich eine zusätzliche Variable deklariert, um das Ergebnis zu speichern. Für diese Variable habe ich die CDATE-Konvertierungsfunktion angewendet.

Als nächstes habe ich die FORMAT-Funktion verwendet, um das Format des Formats „TT-MMM-JJJJ“ anzuwenden. Das Ergebnis ist wie folgt.

Damit können wir den Tag- und den Monatsteil klar lesen. Es hängt auch von Ihrem Systemdatumsformat in Excel ab, da mein Systemdatumsformat "MM-TT-JJJJ" war, wurde es so angezeigt, aber das sollte das Format nicht behindern.

Beispiel 3

Jetzt werden wir sehen, wie Datumsangaben als Textwerte in Arbeitsblattzellen formatiert werden. Unten sehen Sie das Bild der Daten, die als Text in einem Arbeitsblatt gespeichert sind.

In Spalte A von A2 bis A12 haben wir Datumsangaben, aber wenn wir uns die Registerkarte Format ansehen, wird das Format „Text“ angezeigt. Jetzt müssen wir diese Werte von Text auf Datum konvertieren.

Unten ist der Code, den ich geschrieben habe, um die textformatierten Datumswerte in tatsächliche Datumsangaben umzuwandeln.

Code:

 Sub String_To_Date2 () Dim k Solange sich Daten in mehr als einer Zelle befinden, müssen Sie jede Zelle durchlaufen. 'Open For Loop For k = 2 To 12' Daten beginnen in der 2. Zeile und enden in der 12. Zeile, also 2 bis 12 Zellen (k, 2) .Wert = CDate (Zellen (k, 1) .Wert) Weiter k End Sub 

Wenn Sie den Code ausführen, erhalten Sie das folgende Ergebnis.

Dinge, an die man sich erinnern sollte

  • CDATE ist eine Datentypkonvertierungsfunktion, mit der jedoch das gespeicherte Datum einer VBA-Zeichenfolge in tatsächliche Datumswerte konvertiert werden kann.
  • Das Ergebnis des CDATE-Funktionsformats hängt nur vom Datumsformat des Systems ab.
  • Daten werden in Excel als Seriennummern gespeichert, daher ist eine Formatierung erforderlich, um sie als Daten anzuzeigen.