Datum des VBA-Formats

Datum des Excel VBA-Formats

Um ein Datum in VBA zu formatieren, verwenden wir die eingebaute FORMAT-Funktion selbst. Sie verwendet die Eingabe als Datumsformat und gibt das gewünschte Format zurück. Die für diese Funktion erforderlichen Argumente sind der Ausdruck selbst und der Formattyp.

Die Formatierung von Datum und Uhrzeit ist eine sensible Sache in Excel und das Gleiche gilt auch für VBA. Das Standarddatum und die Standardzeit basieren auf dem Systemdatum, an dem wir arbeiten. Dies kann von System zu System variieren. In diesem Artikel zeigen wir Ihnen verschiedene Techniken zum Formatieren von Daten mit VBA-Codes.

Um das Datumsformat mit VBA-Codierung zu ändern, müssen wir die Datumsformate und ihre Auswirkungen auf das Datum kennen.

Die folgende Tabelle zeigt die verschiedenen Datumsformatierungen und ihre Codes.

Wenn Sie also das obige Diagramm berücksichtigen, ist die Formatierung des Datums durch VBA-Codierung überhaupt keine schwierige Aufgabe.

Wie ändere ich das Datumsformat in VBA?

Nachfolgend finden Sie Beispiele für das Excel VBA-Datumsformat.

Sie können diese VBA-Format-Datums-Excel-Vorlage hier herunterladen - VBA-Format-Datums-Excel-Vorlage

Beispiel 1

Zum Beispiel haben wir dasselbe Datum in mehreren Zellen des Arbeitsblatts wie unten gezeigt.

Jetzt werden wir verschiedene Datumsformate für dasselbe Datum anwenden, um die Auswirkungen auf verschiedene Datumsformatcodes zu sehen.

Kopieren Sie zunächst dieselben Daten auch in die nächste Spalte, um die Auswirkungen zu sehen.

Für das erste Datum, dh Zelle A1, wenden wir das Format „TT-MM-JJJJ“ an .

Im Code müssen wir zuerst die Zelle mithilfe des RANGE- Objekts auswählen .

Code:

 Sub Date_Format_Example1 () Range ("A1") End Sub 

Da wir das Datumsformat der Zelle ändern, müssen wir auf die Eigenschaft " Number Format " des RANGE-Objekts zugreifen.

Code:

 Sub Date_Format_Example1 () Range ("A1"). NumberFormat End Sub 

Nach dem Zugriff auf „ Zahlenformat “ brauchen wir , indem das Gleichheitszeichen das Zahlenformat einstellen und den Formatcode in doppelten Anführungszeichen gelten.

Code:

 Sub Date_Format_Example1 () Range ("A1"). NumberFormat = "tt-mm-jjj" 'Dadurch wird das Datum auf "23-10-2019" End Sub geändert 

Wenn wir diesen Code ausführen, wird das Zahlenformat als " TT-MM-JJJ " auf die Zelle A1 angewendet .

Ausgabe:

Beispiel 2

In ähnlicher Weise habe ich auch andere Formatierungscodes für andere Zellen angewendet. Nachfolgend finden Sie den VBA-Code für Sie.

Code:

Sub Date_Format_Example2 () Range ("A1"). NumberFormat = "TT-MM-JJJ" Dies ändert das Datum in "23-10-2019" Bereich ("A2"). NumberFormat = "TT-MM-JJJ" 'Dadurch wird das Datum in den Bereich "Mi-10-2019" ("A3") geändert. NumberFormat = "TTT-MM-JJJ" "' Dadurch wird das Datum in den Bereich" Mittwoch-10-2019 "(" A4 ") geändert. .NumberFormat = "TT-MMM-JJJ" Dies ändert das Datum in den Bereich "23-Okt-2019" ("A5"). NumberFormat = "TT-MMM-JJJ" Dies ändert das Datum in "23-". Oktober-2019 "Bereich (" A6 "). NumberFormat =" TT-MM-JJ "Dies ändert das Datum in" 23-10-19 "Bereich (" A7 "). NumberFormat =" TTM MMM JJJJ "'Dies ändert das Datum auf "Mi Okt 2019 "Bereich (" A8 "). NumberFormat =" TTTM MMM JJJJ "'Dadurch wird das Datum auf" Mittwoch Oktober 2019 "End Sub geändert

Das Ergebnis dieses Codes lautet wie folgt.

Ausgabe:

Ändern Sie das Datumsformat mithilfe der FORMAT-Funktion

In VBA haben wir eine Funktion namens FORMAT, mit der das gewünschte Format auf die Zelle angewendet werden kann.

Wir müssen nur angeben, was der Wert für "Ausdruck" ist, und das "Format" entsprechend anwenden.

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

Code:

 Sub Date_Format_Example3 () MyVal als Variante dimmen MyVal = 43586 MsgBox-Format (MyVal, "TT-MM-JJJJ") End Sub 

Im obigen Code habe ich die Variable als Variante definiert (die einen beliebigen Wert enthalten kann).

Code:

 Dim MyVal als Variante 

Als nächstes habe ich für diese Variable den Wert 43586 zugewiesen.

Code:

MyVal = 43586

Als nächstes habe ich im Meldungsfeld das Ergebnis der Variablen angezeigt, aber bevor wir das Ergebnis anzeigen, haben wir die Funktion " FORMAT " verwendet, um den Wert der Variablen " MyVal " zu formatieren, und das angegebene Format lautet " DD-MM-". JJJJ ”.

Code:

MsgBox-Format (MyVal, "TT-MM-JJJ")

Ok, lassen Sie uns den Code ausführen und das Ergebnis im Meldungsfeld in VBA sehen.

Ausgabe:

Wie Sie oben sehen können, wird das Ergebnis als " 01-05-2019 " angezeigt .

Jetzt müssen Sie sich fragen, ob wir die Seriennummer geliefert haben, das Ergebnis jedoch als Datum angezeigt wird. Dies liegt daran, dass Excel das Datum als Seriennummer speichert, sodass der Wert 43586 dem Datum „01-05-2019“ entspricht. Wenn Sie die Nummer um 1 erhöhen, dh 43587, lautet das Datum „02-05-2019“.

Code:

 Sub Date_Format_Example3() Dim MyVal As Variant MyVal = 43586 MsgBox Format(MyVal, "DD-MM-YYY") End Sub 

Things to Remember

  • The default date of your system will be applied to your excel as well.
  • Number Format property can be used to change the date format in VBA.
  • Using the FORMAT function, we can change the date format.
  • Excel stores date as serial numbers and if you apply date format it will show accordingly.