VBA Datumsformate
In this Article
Dieses Tutorial zeigt, wie man in VBA Datumsangaben formatiert.
Datumsformate in VBA
Es gibt zwei Methoden, um Datumsangaben mit VBA zu formatieren.
- Die NumberFormat-Eigenschaft von Cells / Ranges – Zur Formatierung von in Zellen gespeicherten Daten
- Die VBA-Funktion Format – Zur Formatierung von Datumsangaben in VBA (z. B. Variablen)
NumberFormat – Datumsangaben
Das Standard-Zahlenformat einer Zelle in Excel ist Standard. Sie können Werte als Zahlen, Text, Datumsangaben, Prozentsätze oder Währungen anzeigen, indem Sie das Zahlenformat ändern. Die Eigenschaft NumberFormat in VBA wird verwendet, um das Zahlenformat von Daten in einer Zelle oder ganzer Bereiche festzulegen.
Hinweis: Um die verschiedenen in Excel verfügbaren Standard-Datumsformate zu sehen, gehen Sie zu Startseite>Zahl und Sie sehen Optionen wie ‚Datum, kurz‘, ‚Datum, lang‘ und ‚Zeit‘.
Kurzes Datum
Die Formatierungsoption Datum, kurz zeigt das Datum in einem kurzen, numerischen Format an.
Mit dem folgenden Code wird die Eigenschaft .NumberFormat der Zelle A1 auf Datum, kurz gesetzt:
Range("A1").NumberFormat = "dd.mm.yyyy"
Langes Datum
Die Zahlenformatierung Datum, lang zeigt das Datum in einem längeren, schriftlichen Format an. Mit dem folgenden Code wird die Eigenschaft .NumberFormat der Zelle A1 auf Datum, lang gesetzt:
Range("A1").NumberFormat = "dddd, dd. mmmm yyyy"
Benutzerdefinierte Daten
Um die benutzerdefinierten Zahlenformatcodes einzusehen, die Sie in VBA zur Formatierung von Datumsangaben verwenden können, gehen Sie auf Start>Zahl und klicken Sie auf die Schaltfläche zum Einblenden der Zahlenformatierungsoptionen. Wählen Sie die Registerkarte Zahlen und wählen Sie Benutzerdefiniert.
Beachten Sie, dass Sie in VBA das englische y anstelle des deutschen J für die Jahresangabe verwenden müssen. Analog müssen Sie für die Tagesangabe d anstelle von t verwenden.
Sie können entweder die benutzerdefinierten integrierten Formate für Ihr Datum auswählen oder Ihre eigenen benutzerdefinierten Datumsformate erstellen. Mit dem folgenden Code wird die Eigenschaft .NumberFormat der Zelle A1 auf ein integriertes benutzerdefiniertes Datumsformat gesetzt:
Range("A1").NumberFormat = "mmm yy"
Das Ergebnis ist:
Mit dem folgenden Code wird die Eigenschaft .NumberFormat der Zelle A1 auf ein benutzerdefiniertes Datumsformat gesetzt:
Range("A1").NumberFormat = "dddd, dd. mmm 'yy"
Das Ergebnis ist:
Anhand der vorgegebenen Beispiele von Excel können Sie das Schema für Zahlenformate nachvollziehen. Weiterführende Informationen zur Formatierung von Datumsangaben finden Sie in der Dokumentation von Microsoft.
VBA Format-Funktion
Wie bereits erwähnt, eignet sich die Methode NumberFormat gut zum Festlegen des Zahlenformats von Datumsangaben in Excel-Zellen. In VBA können Sie die Format-Funktion verwenden, um Datumsangaben als Zeichenfolgen in ein bestimmtes Datumsformat umzuwandeln.
Für die Formatierung von Datumsangaben verwenden Sie die folgende Syntax:
Format(Zeichenfolge, ZahlenFormatCode) wobei:
Zeichenfolge – die Textzeichenfolge, die das Datum darstellt.
NumberFormatCode – der Zahlenformatcode, der angibt, wie das Datum angezeigt werden soll.
Der folgende Code zeigt, wie eine Textzeichenfolge, die ein Datum darstellen soll, als langes Datumsformat formatiert wird:
MsgBox Format("1/1/2010", "dddd, dd. mmmm yyyy")
Das Ergebnis ist:
Beachten Sie, dass die Format-Funktion die gleiche Syntax für die Datumsformatierung verwendet wie die obige Funktion NumberFormat.
Der folgende Code zeigt, wie man eine Zeichenketten-Darstellung eines Datums als mittleres Datumsformat (Medium Date) formatiert:
MsgBox Format("09. Oktober 2012", "Medium Date")
Das Ergebnis ist:
Der folgende Code zeigt, wie man eine Zeichenketten-Darstellung eines Datums als benutzerdefiniertes Format formatiert:
MsgBox Format("09. Oktober 2012", "dddd: dd.mm.yy")
VBA Custom Format Builder
Unser VBA Add-in: AutoMacro enthält einen Custom Format Builder für den VBA-Editor. Damit können Sie benutzerdefinierte Formate festlegen und sofort eine Vorschau der Ausgabe für Ihren gewünschten Wert anzeigen:
Das VBA-Add-in enthält zahlreiche weitere „Code-Generatoren“, eine umfangreiche Code-Bibliothek und eine Reihe anderer Codierungswerkzeuge. Es ist das ultimative Add-in für jeden, der sich ernsthaft mit VBA-Programmierung beschäftigt!
VBA Format Date in Access
Die VBA-Funktion Format Date funktioniert in Access VBA genauso wie in Excel VBA.
Function GetDateFilter() As String
'erstelle Zeichenkette, um Info aus 2 Datumsfeldern eines Formulars in Access zu erhalten
Dim strDatumsfeld As String
If IsNull(Me.txtSDate) = False Then
If IsNull(Me.txtEDate) = True Then Me.txtEDate = Me.txtSDate
If strDatumsfeld2 = "" Then
GetDateFilter = strDatumsfeld & " Zwischen #" & Format(Me.txtSDate, "dd.mm.yyyy") & "# und # " & Format(Me.txtEDate, "dd.mm.yyyy") & "#"
End If
End If
End Function