VBA Round-, RoundUp- und RoundDown-Funktionen

VBA-Runde

Die VBA Round Function rundet Zahlen auf eine bestimmte Anzahl von Stellen.

Syntax der VBA-Rundenfunktion

Die Syntax der VBA-Rundenfunktion lautet:

Runde(Ausdruck, [Dezimalstellen]) wobei:

  • Ausdruck - Die zu rundende Zahl.
  • Nachkommastellen (Optional) – Eine ganze Zahl, die die Anzahl der zu rundenden Dezimalstellen angibt. Der Wert muss größer oder gleich 0 (>=0) sein. Wenn es leer ist, wird der Standardwert 0 verwendet, was bedeutet, dass die Funktion auf die nächste ganze Zahl rundet.

Schauen wir uns also ein Beispiel an, damit Sie sehen können, wie die VBA-Rundenfunktion funktioniert, indem auf 1 Dezimalstelle gerundet wird:

12345 Unterrunde1()Msgbox-Runde(7.25, 1)End Sub

Die resultierende MessageBox:

VBA Runde eine Variable

Im obigen Beispiel haben wir die zu rundende Zahl direkt in die Funktion eingegeben, normalerweise würden Sie jedoch stattdessen eine Variable runden. Im Folgenden sehen Sie ein Beispiel, bei dem stattdessen eine Variable verwendet wird:

Hinweis: Wir verwenden den Variablentyp Double, um Dezimalwerte zu speichern.

123456789 UnterrundeUsingVariable()Dim-Einheitenanzahl als DoubleStückzahl = 7,25MsgBox "Der Wert ist " & Round(unitcount, 1)End Sub

Das Ergebnis ist:

VBA-Rundungsergebnisse

Tatsächliche Anzahl Anzahl der Nachkommastellen Ergebnis
7.25 0 7
7.25 1 7.2
7.25 2 7.25
-7.25 1 -7.2
-7.25 2 -7.25

Sind Sie es leid, nach VBA-Codebeispielen zu suchen? Probieren Sie AutoMacro aus!

VBA-Runde Zellenwert

Sie können einen Zellenwert auch direkt in VBA runden:

123 Unterrunde Zelle()Range("A1").Value = Round(Range("A1").Value, 2)End Sub

VBA RoundUp-Funktion

Nehmen wir an, Sie möchten eine Zahl mit VBA aufrunden. Es gibt keine integrierte VBA RoundUp-Äquivalentfunktion, stattdessen können Sie die Excel RoundUp-Arbeitsblattfunktion aus Ihrem VBA-Code aufrufen:

1 roundupUnitcount = Application.WorksheetFunction.RoundUp(unitcount, 3)

Die Arbeitsblattfunktionen von Excel stehen für die Verwendung in VBA durch die Verwendung des ArbeitsblattFunktion Objekt. Die einzigen Arbeitsblattfunktionen, die Sie nicht aufrufen können, sind diejenigen, die bereits über ein integriertes VBA-Äquivalent verfügen.

Eine Erinnerung an die Syntax der Excel-Arbeitsblatt-Aufrundungsfunktion:

AUFRUNDEN(Zahl, Ziffern) wobei:

  • Zahl - Die Zahl, die aufgerundet werden soll.
  • Ziffern - Die Anzahl der Ziffern, die Sie runden möchten.

Schauen wir uns also ein Beispiel an, damit Sie sehen können, wie Sie in Ihrem VBA-Code auf die RoundUp-Arbeitsblattfunktion zugreifen können:

12345678910111213 Sub RoundUp()Dim-Einheitenanzahl als DoubleDim RoundupUnitcount As DoubleStückzahl = 7,075711roundupUnitcount = Application.WorksheetFunction.RoundUp(unitcount, 4)MsgBox "Der Wert ist " & roundupUnitcountEnd Sub

Das Ergebnis ist:

Auf die nächste ganze Zahl aufrunden

Sie können auf die nächste ganze Zahl aufrunden, indem Sie 0 als Anzahl der Dezimalstellen angeben:

12345 Unter RoundUpGanz()MsgBox Application.WorksheetFunction.RoundUp(7.1, 0)End Sub

Das gelieferte Ergebnis:

VBA-Programmierung | Code Generator arbeitet für Sie!

Ergebnisse der RoundUp-Funktion

Tatsächliche Anzahl Ziffern Ergebnis
7.075711 0 8
7.075711 1 7.1
7.075711 2 7.08
7.075711 3 7.076
7.075711 -1 10
7.075711 -2 100
7.075711 -3 1000

VBA RoundDown-Funktion

Nehmen wir an, Sie möchten eine Zahl mit VBA abrunden. Es gibt auch keine integrierte VBA RoundDown-Äquivalentfunktion, stattdessen rufen Sie die Excel RoundDown-Arbeitsblattfunktion aus Ihrem VBA-Code auf.

Eine Erinnerung an die Syntax der Excel-Arbeitsblatt RoundDown-Funktion:

ABRUNDEN(Zahl, Ziffern) wobei:

• Zahl – Die Zahl, die abgerundet werden soll.
• Ziffern – Die Anzahl der Ziffern, die Sie runden möchten.

Schauen wir uns also ein Beispiel an, damit Sie sehen können, wie Sie in Ihrem VBA-Code auf die RoundDown Worksheet-Funktion zugreifen können:

12345678910111213 Unterabrundung()Dim-Einheitenanzahl als DoubleAbrundung abrundenEinheitenzahl als DoubleStückzahl = 5,225193rounddownUnitcount = Application.WorksheetFunction.RoundDown(unitcount, 4)MsgBox "Der Wert ist " & rounddownUnitcountEnd Sub

Das Ergebnis ist:

Auf die nächste ganze Zahl abrunden

Sie können auf die nächste ganze Zahl abrunden, indem Sie 0 als Anzahl der Dezimalstellen angeben:

12345 Unter RoundDownWhole()MsgBox Application.WorksheetFunction.RoundDown(7.8, 0)End Sub

Das Ergebnis ist:

Ergebnisse der RoundDown-Funktion

Tatsächliche Anzahl Ziffern Ergebnis
5.225193 0 5
5.225193 1 5.2
5.225193 2 5.22
5.225193 3 5.225
5.225193 -1 0
5.225193 -2 0
5.225193 -3 0

VBA-Programmierung | Code Generator arbeitet für Sie!

Andere VBA-Rundungsfunktionen

VBA-Decke - Aufrunden auf eine bestimmte Bedeutung

VBA verfügt nicht über ein Ceiling.Math-Funktionsäquivalent. Wenn Sie also eine Zahl auf die nächste ganze Zahl oder auf das nächste angegebene Vielfache der Signifikanz aufrunden möchten, können Sie Excels Ceiling.Math-Arbeitsblattfunktion aus Ihrem VBA-Code aufrufen.

Eine Erinnerung an die Syntax der Excel-Arbeitsblatt-Decke.Math-Funktion:

DECKEN.MATH(Zahl, [Bedeutung], [Modus]) wobei:

  • Zahl - Die Zahl, die Sie aufrunden möchten.
  • Bedeutung (Optional) - Das Vielfache, auf das Ihre Zahl gerundet werden soll.
  • Modus (Optional) - Steuert, ob negative Zahlen auf Null hin oder von Null weg gerundet werden.

Schauen wir uns also ein Beispiel an, damit Sie sehen können, wie Sie in Ihrem VBA-Code auf die Funktion Ceiling.Math Worksheet zugreifen können:

12345678910111213 Sub RoundUpToSignificance()Dim-Einheitenanzahl als DoubleDim CeilingmathUnitcount als DoubleStückzahl = 4.1221CeilingmathUnitcount = Application.WorksheetFunction.Ceiling_Math(unitcount, 5)MsgBox "Der Wert ist " & CeilingmathUnitcountEnd Sub

Das Ergebnis ist:

VBA Round-Up auf Ergebnisse mit spezifizierter Bedeutung

Tatsächliche Anzahl Bedeutung Modus Ergebnis
4.1221 5
4.1221 3 6
4.1221 50 50
-4.1221 3 -3
-4.1221 3 -1 -6

VBA-Boden – Abrunden auf eine bestimmte Bedeutung

VBA hat auch kein Floor.Math-Funktionsäquivalent. Wenn Sie jedoch eine Zahl auf die nächste ganze Zahl oder auf das nächste angegebene Vielfache der Signifikanz abrunden möchten, können Sie die Excel-Arbeitsblattfunktion Floor.Math aus VBA aufrufen.

Eine Erinnerung an die Syntax der Excel-Arbeitsblatt Floor.Math-Funktion:

FLOOR.MATH(Zahl, [Bedeutung], [Modus]) wobei:
• Zahl – Die Zahl, die Sie abrunden möchten.
• Bedeutung (Optional) - Das Vielfache, auf das Ihre Zahl gerundet werden soll.
• Modus (Optional) - Steuert, ob negative Zahlen auf Null hin oder von Null weg gerundet werden.

Schauen wir uns also ein Beispiel an, damit Sie sehen können, wie Sie in Ihrem VBA-Code auf die Floor.Math-Arbeitsblattfunktion zugreifen können:

1234567891011 Sub RoundDownToSignificance()Dim-Einheitenanzahl als DoubleDim floormathUnitcount als DoubleStückzahl = 4,55555559floormathUnitcount = Application.WorksheetFunction.Floor_Math(unitcount, 2)MsgBox "Der Wert ist " & floormathUnitcountEnd Sub

Das Ergebnis ist:

VBA Rounddown auf Ergebnisse mit spezifizierter Bedeutung

Tatsächliche Anzahl Bedeutung Modus Ergebnis
4.55555559 4
4.55555559 3 3
4.55555559 50 0
-4.55555559 3 -6
-4.55555559 3 -1 -3

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

wave wave wave wave wave