Excel VBA Round-Funktion

Sie müssen die Excel-Rundungsfunktion verwendet haben, um die Gleitkommazahlen auf eine bestimmte Anzahl von Dezimalstellen zu runden. Die VBA-Rundungsfunktion verhält sich völlig anders als die in Excel verwendete. Die VBA-Rundungsfunktion verwendet die Logik „Rundung auf Gerade“. Wenn die Zahl, die Sie runden möchten, die letzte Stelle nach dem Komma> = 0, 6 hat, rundet die VBA-Rundungsfunktion sie auf (aufrunden).

Wenn die Zahl, die Sie runden möchten, die letzte Stelle nach dem Komma <= 0, 4 hat, wird sie abgerundet (Abrunden). Angenommen, der Dezimalteil ist genau 0, 5. Was macht er dann? In solchen Fällen wird mit dem ganzzahligen Teil der Zahl geprüft. Wenn der ganzzahlige Teil gerade ist, wird auf die gerade Zahl des Dezimalteils abgerundet. Wenn der ganzzahlige Teil ungerade ist, wird er auf die gerade Zahl aufgerundet. Diese Rundungsmethode wird auch als „Bankerrundung“ bezeichnet.

Syntax der Rundungsfunktion in Excel VBA

Die VBA-Round-Funktion hat die folgende Syntax:

Wo,

  • Ausdruck - Die Gleitkommazahl, die gerundet werden soll.
  • Decimal_places - Ein optionales Argument, das einen ganzzahligen Wert annimmt, der die Dezimalstellen angibt, bis zu denen die Zahl rund sein soll. Sollte immer größer oder gleich Null sein. Wenn nicht angegeben, wird standardmäßig Null berücksichtigt. Das heißt, eine Zahl wird auf eine ganze Zahl gerundet.

Wie benutze ich die Excel VBA Round Funktion?

Anhand einiger Beispiele in Excel lernen wir, wie man eine VBA-Round-Funktion verwendet.

Sie können diese VBA-Round-Excel-Vorlage hier herunterladen - VBA-Round-Excel-Vorlage

Beispiel # 1 - VBA-Rundungsfunktion zum Runden einer Zahl

Führen Sie die folgenden Schritte aus, um die Rundungsfunktion in Excel VBA zu verwenden.

Schritt 1: Fügen Sie ein neues Modul unter Visual Basic Editor (VBE) ein.

Schritt 2: Definieren Sie eine neue Unterprozedur zum Speichern eines Makros in VBE.

Code:

 Sub Round_Ex1 () End Sub 

Schritt 3: Verwenden Sie die MsgBox-Funktion, um eine Meldung wie die folgende aufzurufen: "Der gerundete Wert lautet:"

Code:

 Sub Round_Ex1 () MsgBox "Der gerundete Wert ist:" End Sub 

Schritt 4: Fügen Sie nun "& Round (10.9834, 2)" vor dem Befehl MsgBox hinzu, damit der gerundete Wert im Meldungsfeld angezeigt wird.

Code:

 Sub Round_Ex1 () MsgBox "Der gerundete Wert ist:" & Round (10.9834, 2) End Sub 

Schritt 5: Drücken Sie F5 oder die Schaltfläche Ausführen im obersten Bereich, um diesen Code auszuführen. Sie sehen eine Ausgabe wie unten gezeigt.

Beispiel # 2 - Runde eine Variable mit VBA Round

Schritt 1: Definieren Sie eine neue Unterprozedur in VBE, um ein Makro zu speichern.

Code:

 Sub Round_Ex2 () End Sub 

Schritt 2: Definieren Sie eine Variable mit dem Namen roundNumber als Double, die den Wert der zu rundenden Zahl enthalten kann.

Code:

 Sub Round_Ex2 () Dim roundNumber As Double End Sub 

Schritt 3: Weisen Sie mit dem Zuweisungsoperator einen Zahlenwert zu, der auf diese Variable gerundet werden soll.

Code:

 Sub Round_Ex2 () Dim roundNumber As Double roundNumber = 23.98 End Sub 

Schritt 4: Verwenden Sie eine Kombination aus MsgBox und der Rundungsfunktion, um diese Zahl auf einen Dezimalpunkt aufzurunden.

Code:

 Sub Round_Ex2 () Dim roundNumber As Double roundNumber = 23.98 MsgBox "Die Zahl ist gerundet:" & Round (roundNumber, 1) End Sub 

Schritt 5: Drücken Sie F5 oder die Schaltfläche Ausführen, um diesen Code auszuführen und die Ausgabe anzuzeigen.

Sie können eine Ausgabe wie im obigen Screenshot sehen. Bitte beachten Sie, dass bei der Logik „auf Gerade runden“ die letzte Dezimalstelle auf 10 gerundet wird und die nächste Dezimalstelle selbst 10 wird, wodurch die Zahl auf den nächsten geraden Teil der ganzen Zahl (dh 24) gerundet wird.

Beispiel # 3 - Zellenwert mit VBA runden

Angenommen, der Wert, den Sie runden möchten, wird in einer Zelle Ihres Excel-Arbeitsblatts gespeichert.

Sie möchten diesen Wert lediglich auf zwei Dezimalstellen aufrunden.

Schritt 1: Definieren Sie eine neue Unterprozedur in einem Modul, um das Makro zu speichern.

Code:

 Sub Round_Ex3 () End Sub 

Schritt 2: Schreiben Sie den Befehl als "Range (" A2 "). Value =". Dieser Befehl dient als Speicherort für die Ausgabe.

Code:

 Sub Round_Ex3 () Bereich ("A2"). Wert = End Sub 

Schritt 3: Runden Sie nun den Wert in Zelle A1 mit einer Rundungsfunktion und speichern Sie das Ergebnis in Zelle A2. Schreiben Sie den folgenden Code: Round (Range ("A1"). Value, 2).

Code:

 Sub Round_Ex3 () Range ("A2"). Value = Round (Range ("A1"). Value, 2) End Sub 

Schritt 4: Drücken Sie die Taste F5 oder Ausführen, um diesen Code auszuführen und die Ausgabe in Zelle A2 Ihres Arbeitsblatts anzuzeigen.

Beispiel # 4 - Runden Sie eine Zahl mit der VBA RoundUp Funktion

Angenommen, Sie möchten eine Zahl mit VBA aufrunden. Sie können das tun, indem Sie WorksheetFunction.RoundUp-Funktion verwenden.

Schritt 1: Definieren Sie eine neue Unterprozedur in Visual Basic Editor, in der Ihr Makro gespeichert werden kann.

Code:

 Sub Round_Ex4 () End Sub 

Schritt 2: Definieren Sie zwei Variablen, eine für die Zahl, die Sie aufrunden möchten. Und die andere, um das Ergebnis der Zusammenfassung zu speichern.

Code:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double End Sub 

Schritt 3: Speichern Sie einen Wert in die Variable numToRound, die Sie aufrunden möchten.

Code:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double numToRound = 12.7543712 End Sub 

Schritt 4: Verwenden Sie nun RoundUp, um diese Zahl zu runden und das Ergebnis in einer numRoundUp-Variablen zu speichern.

Code:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) End Sub 

Schritt 5: Verwenden Sie MsgBox, um die Ausgabe unter dem Meldungsfeld anzuzeigen.

Code:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) MsgBox "Die aufgerundete Zahl ist:" & numRoundUp End Sub 

Schritt 6: Drücken Sie die Taste F5 oder Run, um diesen Code auszuführen und die Ausgabe anzuzeigen.

Beispiel # 5 - Runden Sie eine Zahl mit der VBA RoundDown Funktion ab

Schritt 1: Definieren Sie in einer neuen Unterprozedur zwei neue Variablen mit den Namen numToRoundDown und roundDownNum. Eins, um den Wert der abzurundenden Zahl zu speichern, und andere, um die Ausgabe zu speichern, nachdem die Zahl abgerundet wurde.

Code:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double End Sub 

Schritt 2: Weisen Sie den abzurundenden Wert der Variablen "numToRoundDown" zu.

Code:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double numToRoundDown = 7.075711 End Sub 

Schritt 3: Verwenden Sie nun RoundDown, um diese Zahl zu runden und das Ergebnis in einer roundDownNum-Variablen zu speichern.

Code:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) End Sub 

Schritt 4: Verwenden Sie die MsgBox-Funktion, um den Wert einer abgerundeten Zahl anzuzeigen.

Code:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) MsgBox "Die abgerundete Zahl ist:" & roundDownNum End Sub 

Schritt 5: Drücken Sie die Taste F5 oder Ausführen, um diesen Code auszuführen und die Ausgabe als Meldungsfeld anzuzeigen.

Dies ist es in dem Artikel. Wir haben die Konzepte von VBA Round, Round Up und Round Down anhand einiger Beispiele zusammengefasst.

Dinge, an die man sich erinnern sollte

  • Diese Funktion verwendet die Rundungsmethode eines Bankers, um die Zahlen zu runden, die sich etwas von der tatsächlichen Rundungsmethode unterscheiden.
  • Diese Funktion wird verwendet, um eine Zahl mit einem Gleitkomma oder eine Zahl mit festen Dezimalstellen auf die angegebene Anzahl von Stellen zu runden.
  • Dies bedeutet, dass die Funktion die Zahl abhängig von der Zahl nach dem Komma auf- oder abrundet.
  • Das Argument decimal_places muss größer oder gleich Null sein.
  • Wenn decimal_places leer gelassen wird, wird es als Null betrachtet und die Zahl wird dann auf die nächste Ganzzahl gerundet.
  • Wenn decimal_places kleiner als Null ist, tritt der Laufzeitfehler 5 auf. "Laufzeitfehler '5': Ungültiger Prozeduraufruf oder ungültiges Argument".
  • Es ist nicht wirklich vorhersehbar, auf was diese Funktion den Wert rundet, wenn die Dezimalstelle 5 ist.
  • Wenn eines oder beide Argumente der Round-Funktion nicht numerisch sind, gibt die Funktion den Laufzeitfehler 13 zurück. "Laufzeitfehler '13': Typenkonflikt".

Empfohlene Artikel

Dies war ein Leitfaden für die VBA-Rundenfunktion. Hier haben wir die Verwendung der Excel VBA Round-Funktion zusammen mit praktischen Beispielen und einer herunterladbaren Excel-Vorlage erläutert. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. Vollständige Anleitung zu VBA On Error
  2. Wie verwende ich das VBA-Zahlenformat?
  3. VBA VLOOKUP Funktion mit Beispielen
  4. Erstellen einer VBA-Funktion in Excel

Kategorie: