In diesem Lernprogramm wird gezeigt, wie Datumsangaben mit VBA formatiert werden.
Datumsangaben in VBA formatieren
Es gibt zwei Methoden zum Formatieren von Datumsangaben mit VBA.
- Die Eigenschaft NumberFormat von Zellen / Bereichen – Zum Formatieren von in Zellen gespeicherten Daten
- Die VBA-Formatfunktion – Zum Formatieren von Daten in VBA (Bsp. variablen)
NumberFormat – Dates
Das standardmäßige Zahlenformat einer Zelle in Excel ist Allgemein. Sie können Werte als Zahlen, Text, Datumsangaben, Prozentsätze oder Währungen anzeigen, indem Sie das Zahlenformat ändern. Die NumberFormat-Eigenschaft kann in VBA verwendet werden, um das Zahlenformat von Datumsangaben in einer Zelle oder einem Bereich festzulegen.
Hinweis: Um die verschiedenen in Excel verfügbaren Standarddatumsformate anzuzeigen, gehen Sie zur Startseite> Nummer und Sie sehen Optionen wie kurzes Datum, langes Datum und Uhrzeit.
Kurzes Datum
Die Formatierungsoption für kurze Datumszahlen zeigt das Datum in einem kurzen numerischen Format an.
Der folgende Code wird die .NumberFormat-Eigenschaft von Zelle A1 auf kurzes Datum:
1
|
Bereich(„A1“).NumberFormat = „MM/TT/JJJJ“
|
Long Date
Long date number formatting zeigt das Datum in einem längeren, geschriebenen Format an. Der folgende Code wird die .NumberFormat Eigenschaft von Zelle A1 bis Long date:
1
|
Bereich(„A1“).NumberFormat = „dddd, mmmm TT, JJJJ“
|
Benutzerdefinierte Daten
Um die benutzerdefinierten Zahlenformatcodes anzuzeigen, die Sie in VBA zum Formatieren von Daten verwenden können, gehen Sie zu Start >Nummer und klicken Sie auf das Dialogfeld Startprogramm. Wählen Sie die Registerkarte Nummer und wählen Sie Benutzerdefiniert.
Sie können entweder die benutzerdefinierten integrierten Formate für Ihr Datum auswählen oder Ihre eigenen benutzerdefinierten Datumsformate erstellen. Der folgende Code wird die .NumberFormat Eigenschaft von Zelle A1 zu einem integrierten benutzerdefinierten Datumsformat:
1
|
Bereich(„A1“).NumberFormat = „mmm-jj“
|
Das Ergebnis ist:
Der folgende Code wird die .NumberFormat-Eigenschaft von Zelle A1 in ein benutzerdefiniertes Datumsformat:
1
|
Bereich(„A1“).NumberFormat = „dddd-tt-mmm-jj“
|
Das Ergebnis ist:
Anhand der vorgefertigten Beispiele von Excel können Sie lernen, wie Zahlenformate eingegeben werden sollten. Weitere Informationen finden Sie in der Microsoft-Dokumentation zu Zahlenformaten für Datumsangaben.
VBA-Formatfunktion
Wie oben erwähnt, eignet sich die NumberFormat-Methode zum Festlegen des Numberformat von Datumsangaben, die in Excel-Zellen gespeichert sind. In VBA können Sie die Funktion Format verwenden, um Datumsangaben in Zeichenfolgen mit einer bestimmten Datumsformatierung zu konvertieren.
Sie würden die folgende Syntax verwenden, um Datumsangaben zu formatieren:
Format(String_Representation, NumberFormatCode) wobei:
String_Representation – die Textzeichenfolge, die das Datum darstellt.
NumberFormatCode – der Zahlenformatcode, der angibt, wie das Datum angezeigt werden soll.
Der folgende Code zeigt, wie eine Textzeichenfolgendarstellung eines Datums als langes Datumsformat formatiert wird:
1
|
MsgBox Format („1/1/2010“, „dddd, mmmm TT, JJJJ“)
|
Das Ergebnis ist:
Beachten Sie, dass die Format-Funktion dieselbe Datumsformatierungssyntax wie das NumberFormat oben verwendet.
Der folgende Code zeigt, wie eine Textzeichenfolgendarstellung eines Datums als mittleres Datumsformat formatiert wird:
1
|
MsgBox-Format („09 Oktober 2012“, „Mittleres Datum“)
|
Das Ergebnis ist:
Der folgende Code zeigt, wie eine Textzeichenfolgendarstellung eines Datums als benutzerdefiniertes Format formatiert wird:
1
|
MsgBox Format(„09 Oktober 2012“, „dddd: tt/mm/jj“)
|
VBA Custom Format Builder
Unser VBA Add-In: AutoMacro enthält einen benutzerdefinierten Format Builder für den VBA Editor. Auf diese Weise können Sie benutzerdefinierte Formate festlegen und sofort eine Vorschau der Ausgabe für den gewünschten Wert anzeigen:
Das VBA-Add-In enthält zahlreiche weitere „Codegeneratoren“, eine umfangreiche Codebibliothek und eine Auswahl anderer Codierungstools. Es ist das ultimative Add-in für alle ernsthaft über VBA-Programmierung!
VBA Format Date in Access
Die Funktion VBA Format Date funktioniert in Access VBA genauso wie in Excel VBA.
1
2
3
4
5
6
7
8
9
10
|
Function GetDateFilter() As String
‚Erstellen Sie eine Zeichenfolge, um Informationen aus 2 Datumsfeldern in einem Formular in Access
Dim strDateField As String
If IsNull(Me.txtSDate) = False Dann
Wenn IsNull(Mir.txtEDate) = Wahr Dann ich.txtEDate = Ich.txtSDate
Wenn strDateField2 = „“ Dann
GetDateFilter = strDateField & “ Zwischen #“ & Format(mir.txtSDate, „mm/TT/JJJJ“) & „# Und # “ & Format(mir.txtEDate, „MM/TT/JJJJ“) & „#“
Ende Wenn
Ende Wenn
Ende Funktion
|