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 |