VBA-Formatierungsfunktion

Inhaltsverzeichnis

Dieses Tutorial zeigt, wie Sie die Format-Funktion verwenden.

Formatierungsfunktion

Zahlen mit vordefinierten Formaten formatieren

Die Formatfunktion kann eine Zahl in eine Zeichenfolge konvertieren, die mit vordefinierten benannten numerischen Formaten formatiert ist. Diese vordefinierten Formate sind Währung, Fest, Standard, Prozent, Wissenschaftlich, Ja/Nein, Wahr/Falsch und Ein/Aus.

12345678910111213141516171819202122232425262728293031 UnterformatBeispiel_1()MsgBox-Format(1234567.8) 'Ergebnis ist: 1234567.8'Format lässt die Zahl einfach so wie sie istMsgBox Format(1234567.8, "Währung") 'Ergebnis: $1.234.567.80'Währung verwendet die Währungseinstellungen des SystemsMsgBox-Format(1234567.8, "Fixed") 'Ergebnis: 1234567.80'Behoben: Mindestens eine Stelle vor dem Komma und'verwendet Systemeinstellungen für den DezimalteilMsgBox-Format(1234567.8, "Standard") 'Ergebnis: 1.234.567.80'Standard: Tausendertrenner und StandardsystemMsgBox Format(1234567.8, "Prozent") 'Ergebnis ist: 123456780.00%'Prozent, multipliziert mit 100 mit % und Standardsystem.MsgBox Format(1234567.8, "Wissenschaftlich") 'Ergebnis ist: 1.23E+06'Wissenschaftliche SchreibweiseMsgBox-Format (1234567.8, "Ja/Nein") 'Ergebnis: Ja'Nein, wenn die Zahl Null istMsgBox-Format (1234567.8, "Wahr/Falsch") 'Ergebnis ist: Wahr'Falsch, wenn die Zahl gleich Null istMsgBox-Format (1234567.8, "Ein/Aus") 'Ergebnis: Ein'Aus, wenn die Zahl Null istEnd Sub

Zahlen mit benutzerdefinierten Formaten formatieren

Die Formatfunktion kann eine Zahl in eine Zeichenfolge konvertieren, formatierte benutzerdefinierte numerische Formate. 0 ist ein Ziffernplatzhalter, der eine Ziffer oder Null anzeigt. # ist ein Ziffernplatzhalter, der eine Ziffer oder nichts anzeigt. Ein Punkt (.) ist der Dezimalplatzhalter, % ist der Prozentplatzhalter und Komma (,) ist das Tausendertrennzeichen. Text kann im Format mit doppelten Anführungszeichen ("") und ein einzelnes Zeichen hinzugefügt werden, wenn es nach einem umgekehrten Schrägstrich (\) verwendet wird.

1234567891011 UnterformatBeispiel_2()MsgBox-Format (7.8, "000.00") 'Ergebnis ist: 007.80MsgBox-Format(12347.8356, "000.00") 'Ergebnis ist: 12347.84MsgBox-Format (7.8, "###.##") 'Ergebnis ist: 7.8MsgBox-Format(12347.8356, "###.##") 'Ergebnis ist: 12347.84MsgBox Format(7.8, "\$.00") 'Ergebnis: $7.80MsgBox-Format(1237.835, "ABA0.00") 'Ergebnis ist: ABA1237.84MsgBox-Format(12347.8356, "000.00%") 'Ergebnis ist: 1234783.56%MsgBox-Format(12347.8356, "%000.00") 'Ergebnis ist: %12347.84End Sub

Zahlen je nach Wert formatieren

Die Formatfunktion kann unterschiedliche Abschnitte haben, die unterschiedliche Formatregeln für positive Zahlen, negative Zahlen, Null und Null verwenden. Diese Abschnitte werden durch ein Semikolon getrennt.

1234567 UnterformatBeispiel_3()MsgBox Format(7.8, "000.00;(000.00);\z\e\r\o;nichts") 'Ergebnis ist: 007.80MsgBox Format(-7.8, "000.00;(000.00);\z\e\r\o;nichts") 'Ergebnis ist: (007.80)MsgBox Format(0, "000.00;(000.00);\z\e\r\o;nichts") 'Ergebnis ist: nullMsgBox Format(Null, "000.00;(000.00);\z\e\r\o;nichts") 'Ergebnis ist: nichtsEnd Sub

Formatieren Sie Datumsangaben mit vordefinierten Formaten

Die Formatfunktion kann Datumsangaben mit verschiedenen vordefinierten Formaten formatieren. Diese Formate sind langes, mittleres und kurzes Datum sowie lange, mittlere und kurze Zeit.

1234567891011121314 UnterformatBeispiel_4()Dim DateEx als DatumDatumEx = #4/18/2020 19:35:56 #MsgBox-Format (DateEx, "Allgemeines Datum") 'Ergebnis: 18.04.2020 19:35:56MsgBox Format(DateEx, "Long Date") 'Ergebnis ist: Samstag, 18. April 2022MsgBox-Format (DateEx, "Medium Date") 'Ergebnis ist: 18-Apr-20MsgBox-Format (DateEx, "Kurzes Datum") 'Ergebnis ist: 18.04.2020MsgBox-Format (DateEx, "Long Time") 'Ergebnis ist: 19:35:56 PMMsgBox-Format (DateEx, "Medium Time") 'Ergebnis ist: 19:35 UhrMsgBox-Format (DateEx, "Kurze Zeit") 'Ergebnis ist: 19:35End Sub

Formatieren Sie Datumsangaben mit benutzerdefinierten Formaten

Die Formatfunktion kann Datumsangaben mit benutzerdefinierten Formaten formatieren. Zeichen wie d, m, y, w, q können verwendet werden, um benutzerdefinierte Datumsformate zu erstellen.

123456789101112131415161718192021222324 UnterformatBeispiel_5()Dim DateEx als DatumDatumEx = #4/18/2020 19:35:56 #MsgBox-Format (DateEx, "m/d/yy") 'Ergebnis: 18.04.2020MsgBox Format(DateEx, "mm-dd-yy") 'Ergebnis: 18.04.2020MsgBox-Format (DateEx, "mmm-dd-yy") 'Ergebnis: 18. April-2020MsgBox-Format (DateEx, "mmmm-dd-yy") 'Ergebnis: 18. April-2020MsgBox Format(DateEx, "mm-ddd-yy") 'Ergebnis ist: 04-Sa-2020MsgBox Format(DateEx, "mm-dddd-yy") 'Ergebnis: 04-Samstag-2020MsgBox-Format (DateEx, "y")'Ergebnis ist: 109'Tageszahl im Jahr 1-366MsgBox-Format (DateEx, "ww")'Ergebnis ist: 16'Anzahl der Woche im Jahr 1-52MsgBox-Format (DateEx, "q")'Ergebnis ist: 2'Quartal im Jahr 1-4'End Sub

Zeichenkombinationen wie h, n, s und am, pm können verwendet werden, um benutzerdefinierte Zeitformate zu erstellen.

123456789101112 UnterformatBeispiel_6()Dim DateEx als DatumDatumEx = #4/18/2020 19:06:05 #MsgBox Format(DateEx, "h:n:s") 'Ergebnis: 19:6:5MsgBox Format(DateEx, "hh:nn:ss") 'Ergebnis: 19:06:05MsgBox Format(DateEx, "hh:nn:ss am/pm") 'Ergebnis: 07:06:05 pmMsgBox Format(DateEx, "hh:nn:ss AM/PM") 'Ergebnis ist: 07:06:05 PMMsgBox Format(DateEx, "hh:nn:ss a/p") 'Ergebnis ist: 07:06:05 pMsgBox Format(DateEx, "hh:nn:ss A/P") 'Ergebnis ist: 07:06:05 PEnd Sub

Format für bessere Lesbarkeit

Die Formatfunktion kann Zeichenfolgen oder Zahlen zur besseren Lesbarkeit formatieren. @ ist ein Platzhalter für Zeichen, der verwendet wird, um ein Zeichen oder ein Leerzeichen anzuzeigen. & ist ein Zeichenplatzhalter, der verwendet wird, um ein Zeichen oder nichts anzuzeigen. ! kann verwendet werden, um Zeichenplatzhalter von links nach rechts zu verwenden und kann verwendet werden, um Klein- oder Großbuchstaben zu erzwingen. Kann beim Formatieren von Telefonnummern oder anderen großen Zahlen nützlich sein, ohne den ursprünglichen Wert zu ändern.

12345678910111213141516171819202122 UnterformatBeispiel_7()Dim StrEx als StringStrEx = "ABCdef"MsgBox Format(StrEx, "-@@@-@@-@@") 'Ergebnis ist: - AB-Cd-efMsgBox Format(StrEx, "-&&&-&&-&&") 'Ergebnis ist: -AB-Cd-ef'Beginnt von rechts nach links.MsgBox Format(StrEx, "-@@@-@@-@@-@@") 'Ergebnis ist: - -AB-Cd-efMsgBox Format(StrEx, "-&&&-&&-&&-&&") 'Ergebnis ist: --AB-Cd-ef'Beginnt von rechts nach links. Wenn keine Zeichen mehr vorhanden sind, fügt @ Leerzeichen hinzu und & fügt nichts hinzuMsgBox Format(StrEx, "!-@@@-@@-@@-@@") 'Ergebnis ist: -ABC-de-f -MsgBox Format(StrEx, "!-&&&-&&-&&-&&") 'Ergebnis ist: -ABC-de-f'Beginnt von links nach rechts wegen der !MsgBox Format(StrEx, ">") 'Ergebnis ist: ABCDEFMsgBox Format(StrEx, "<") 'Ergebnis ist: abcdefMsgBox-Format(1234567890, "@@@-@@@-@@@@") 'Ergebnis ist: 123-456-7890MsgBox-Format (1234567890, "@@@@-@@@-@@@") 'Ergebnis ist: 1234-567-890End Sub

Formatieren von Mustern in Arbeitsblattzellen

Die Formatfunktion kann in VBA-Code und auch in Arbeitsblattzellen verwendet werden. Markieren Sie die Zelle oder den Zellbereich und folgen Sie dem Menüeintrag Zellen formatieren > Benutzerdefiniert. Es gibt viele benutzerdefinierte Formate und der Benutzer kann auch seine eigenen benutzerdefinierten Formate erstellen.

Muster mit Textformel formatieren

Die Formatfunktion kann das Format eines Werts im VBA-Code direkt ändern. Wir können auch die Excel-Textformel verwenden, um das gleiche Ergebnis mit WorksheetFunction.Text zu erhalten.

1234567891011 UnterformatExample_8()MsgBox-Format (7.8, "000.00")'Ergebnis ist: 007.80MsgBox WorksheetFunction.Text(7.8, "000.00")'Ergebnis ist: 007.80MsgBox-Format (7.8, "###.##")'Ergebnis ist: 7.8MsgBox WorksheetFunction.Text(7.8, "###.##")'Ergebnis ist: 7.8End Sub

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave