Excel VBA-Formatnummer

VBA verfügt über eine eingebaute Funktion zum Formatieren von Zahlen. Der Name dieser eingebauten Funktion lautet „Format Number“. Diese Funktion formatiert die spezifische Nummer in einem Format, das vom Benutzer benötigt wird.
Bevor wir fortfahren, lassen Sie uns zunächst verstehen, was Zahlenformatierung ist. Zahlenformatierung bedeutet im Grunde, dass die spezifische Nummer auf eine bestimmte Art und Weise angezeigt werden sollte. Zum Beispiel, wenn Sie eine bestimmte Zahl mit zwei Dezimalstellen (150, 55) oder dieselbe Zahl ohne Dezimalstelle (150) anzeigen möchten. Dies sind nur Beispiele. Grundsätzlich können wir diese Zahlenformatierung in vier Kategorien einteilen.

  • Dezimalpunkte
  • Negative Zahlen in Klammern
  • Führende Ziffern
  • Gruppenziffern

Wir werden alle Formatierungen in VBA anhand von Beispielen lernen. Aber zuerst werfen wir einen Blick auf die Syntax der VBA-Funktion für das Format number.

Damit Sie die Syntax der VBA-Funktion für das Format number im obigen Screenshot sehen können, wollen wir diese Funktion auflösen und jeden Teil der Funktion verstehen.

  1. Ausdruck: Wie Sie sehen, ist der erste Teil der Funktion ein Ausdruck, der nichts anderes als die Zahl ist, die wir formatieren möchten.
  2. Ziffer nach dem Komma: Der zweite Teil der Funktion fragt nach der Anzahl der Stellen der Zahl, die Sie nach dem Komma sehen möchten.
  3. Führende Ziffer: Dies ist nützlich, wenn die Zahl zwischen -1 und 1 liegt. Dies bedeutet, wenn die Zahl größer als -1 und kleiner als 1 ist. Zum Beispiel 0, 25.

Wenn Sie also den Wert Null vor dem Dezimalpunkt sehen möchten, müssen Sie ein Argument als TRUE oder -1 in die Funktion einfügen. Das Ergebnis wird 0, 55 sein.

Wenn Sie jedoch den Wert als FALSE oder 0 in das Argument einfügen, wird das Ergebnis .55.

  1. Übergeordnetes Element für negative Zahlen verwenden : Dieser Teil wird für negative Zahlen verwendet. Wenn Sie die negativen Zahlen in einer Klammer sehen möchten, geben Sie ein Argument als WAHR oder -1 ein und das Ergebnis ist (156). Wenn Sie das Argument jedoch als FALSE oder 0 angeben, ist das Ergebnis -156.
  2. Gruppenziffern : Dies ist der letzte Teil der Funktion, der für die Tausendertrennzeichen verwendet wird. Wenn Sie also die Zahlen mit einem Tausendertrennzeichen sehen möchten, müssen Sie das Argument als WAHR oder -1 angeben. Das Ergebnis ist 52.000. Wenn Sie jedoch das gleiche Argument wie FALSE oder 0 angeben, lautet das Ergebnis 52000.

Wie formatiere ich eine Nummer mit VBA-Code?

Nachdem Sie nun die verschiedenen Formen der Zahlenformatierung und die in VBA integrierte Funktion des Zahlenformats verstanden haben, können Sie anhand von Beispielen sehen, wie Sie diese verwenden können.

Sie können diese Excel-Vorlage im VBA-Format herunterladen - Excel-Vorlage im VBA-Format

Führen Sie die folgenden grundlegenden Schritte aus, bevor Sie zu den Beispielen gehen, wenn Sie mit dem VBA-Makro noch nicht vertraut sind. Sie können die folgenden Codes in das VBA-Modul einfügen.

Schritt 1: Erstellen Sie einen Makronamen, der die erste Zeile im Code ist, wie Sie im Screenshot sehen können.

Schritt 2: Deklarieren Sie eine der Variablen als String, da das Ergebnis der VBA-Format-Nummernfunktion String ist.

Code:

 Sub Format_Number_Example1 () Dim MyNum As String End Sub 

Jetzt können wir mit unseren Beispielen weitermachen.

Dezimalstellen - Beispiel # 1

Angenommen, wir arbeiten mit der Nummer 56456 und Sie möchten zwei Zahlen nach dem Komma sehen.

Schritt 1: Im Code können Sie die in VBA eingebaute Funktion wie folgt hinzufügen.

Mynum = Formatnummer (

Schritt 2: Wie Sie wissen, ist der erste Schritt der Funktion der Ausdruck, der nichts anderes als die zu formatierende Zahl ist. 56456 in unserem Fall.

Mynum = Formatnummer (56456,

Schritt 3: Der nächste Schritt ist Numdigitafterdecimal. Dies ist nichts anderes als die Anzahl der Stellen, die Sie nach dem Komma sehen möchten, in unserem Fall 2.

Code:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (56456, 2) MsgBox MyNum End Sub 

Schritt 4 : Im nächsten Schritt wird die Nummer in einem Meldungsfeld angezeigt. VBA hat eine eingebaute Funktion, um den Wert in einem Meldungsfeld anzuzeigen, das MSGBOX ist.

Sie müssen also nur den folgenden Code einfügen, nachdem Sie die Funktion Format number for MyNum eingefügt haben.

Code:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (56456, 2) MsgBox MyNum End Sub 

Wie Sie sehen, ist die letzte Zeile im Code End Sub, was bedeutet, dass der VBA-Code für das Makro danach endet.

Schritt 6: Wenn die Codierung für die Formatnummer beendet ist, können Sie das Makro ausführen und das folgende Ergebnis sehen, nachdem Sie das Makro ausgeführt haben.

Tausendertrennzeichen - Beispiel 2

Nehmen wir nun an, wir müssen mit demselben Beispiel die gleiche Nummer 56456 mit Tausendertrennzeichen anzeigen. In diesem Fall müssen wir das letzte Argument als "vbTrue" angeben (siehe Abbildung unten).

Code:

Sub Format_Number_Example2 ()

Dim MyNum As String

MyNum = FormatNumber (56456, 2,,, vbTrue)

MsgBox MyNum

End Sub

Nach dem Ausführen des Makros können Sie das folgende Ergebnis sehen.

Wenn Sie als letztes Argument "vbFalse" auswählen, wird die Zahl nicht als Tausendertrennzeichen angezeigt.

Negative Zahl in Klammer anzeigen - Beispiel # 3

Angenommen, die gleiche Nummer 56456 im obigen Beispiel ist negativ und Sie müssen die negativen Zahlen in einer Klammer anzeigen, dann sollte das vierte Argument in der Funktion "vbTrue" lauten (siehe Abbildung unten).

Code:

 Sub Format_Number_Example3 () Dim MyNum As String MyNum = FormatNumber (-56456, 2,, vbTrue, vbTrue) MsgBox MyNum End Sub 

Wie Sie sehen, sind das vierte und fünfte Argument im Code "vbTrue", was bedeutet, dass die Formatierung für negative Zahlen (viertes Argument) und die Formatierung für Tausendertrennzeichen (fünftes Argument) beide True sind. Sie sehen also die negative Zahl in einer Klammer und mit Tausendertrennzeichen, wie im folgenden Screenshot gezeigt.

Formatierung für Zahlen zwischen -1 und 1 - Beispiel 4

Angenommen, die Zahl ist 0, 567, was zwischen -1 und 1 liegt. Dann haben Sie zwei Möglichkeiten, die Zahl zu formatieren. Die erste Option besteht darin, Null vor dem Dezimalpunkt anzuzeigen oder Null nicht vor dem Dezimalpunkt anzuzeigen.

Wenn Sie die Option wählen, Null vor dem Dezimalpunkt anzuzeigen, sollten Sie das dritte Argument in der Funktion als "vbTrue" angeben, wie im folgenden Screenshot gezeigt.

Code:

 Sub Format_Number_Example4 () Dim MyNum As String MyNum = FormatNumber (0, 567, 2, vbTrue, vbTrue, vbTrue) MsgBox MyNum End Sub 

Sie können das folgende Ergebnis sehen, nachdem Sie den Makrocode ausgeführt haben.

Wie Sie sehen, zeigt das Ergebnis nur zwei Nachkommastellen an, da wir nur 2 als zweites Argument in der Funktion angegeben haben.

Wenn Sie das dritte Argument als "vbFalse" auswählen (siehe Abbildung unten).

Code:

 Sub Format_Number_Example5 () Dim MyNum As String MyNum = FormatNumber (0, 567, 2, vbFalse, vbTrue, vbTrue) MsgBox MyNum End Sub 

Dann sehen Sie nicht die Null vor dem Dezimalpunkt, wie im folgenden Screenshot gezeigt.

Dinge, an die man sich erinnern sollte

  • Die VBA-FormatNumber-Funktion verfügt über 5 Argumente. Stellen Sie daher sicher, dass Sie die richtigen Argumente in der Reihenfolge der Funktion angeben. Wir müssen die Reihenfolge der Funktion einhalten, es gibt keinen anderen Ausweg.
  • Wenn Sie eines der Argumente leer lassen, wird automatisch die VBA-Standardoption berücksichtigt.
  • Seien Sie vorsichtig mit den Argumenten vbTrue und vbFalse für die letzten drei Argumente für die Zahlenformatierung.
  • Für das erste Argument, bei dem es sich um den Ausdruck handelt, können Sie anstelle einer beliebigen Zahl auch die Zellreferenz in der Excel-Tabelle angeben.

Empfohlene Artikel

Dies ist eine Anleitung zum VBA-Format. Hier wird das Formatieren von Zahlen in Excel mithilfe von VBA-Code zusammen mit praktischen Beispielen und einer herunterladbaren Excel-Vorlage erläutert. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. Wie verwende ich die VBA TRIM-Funktion?
  2. VBA-Arrays | Beende das Tutorial
  3. Wie verwende ich den VBA Select Case?
  4. Excel VBA-Suchfunktion

Kategorie: