VBA Round, RoundUp och RoundDown -funktioner

VBA -omgång

VBA -rundfunktionen avrundar siffror till ett visst antal siffror.

Syntax för VBA -rundfunktionen

Syntaxen för VBA Round -funktionen är:

Round (Expression, [Decimal_places]) där:

  • Uttryck - Siffran som ska avrundas.
  • Decimal_places (Frivillig) - Ett heltal som anger antalet decimaler som ska avrundas. Värdet måste vara större än eller lika med 0 (> = 0). Om det är tomt används standardinställningen 0, vilket innebär att funktionen avrundar till närmaste heltal.

Så, låt oss titta på ett exempel så att du kan se hur VBA Round -funktionen fungerar, avrunda till 1 decimal:

12345 Delomgång1 ()Msgbox Round (7,25, 1)Avsluta Sub

Den resulterande MessageBox:

VBA Round a Variable

I exemplet ovan skrev vi in ​​numret som ska avrundas direkt i funktionen, men vanligtvis skulle du avrunda en variabel istället. Följande är ett exempel med en variabel istället:

Obs: Vi använder dubbelvariabel för att lagra decimalvärden.

123456789 Sub RoundUsingVariable ()Dim enhetsräkning som dubbelenhetsräkning = 7,25MsgBox "Värdet är" & Round (unitcount, 1)Avsluta Sub

Resultatet är:

VBA -avrundningsresultat

Faktiskt nummer Antal decimaler Resultat
7.25 0 7
7.25 1 7.2
7.25 2 7.25
-7.25 1 -7.2
-7.25 2 -7.25

Trött på att söka efter exempel på VBA -kod? Prova AutoMacro!

VBA Round Cell Value

Du kan också avrunda ett cellvärde direkt i VBA:

123 Sub RoundCell ()Område ("A1"). Värde = Runt (intervall ("A1"). Värde, 2)Avsluta Sub

VBA RoundUp -funktion

Låt oss säga att du vill avrunda ett tal med VBA. Det finns ingen inbyggd VBA RoundUp-motsvarande funktion, istället är det du kan göra att ringa Excel RoundUp-kalkylbladsfunktionen från din VBA-kod:

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

Excels kalkylbladsfunktioner är tillgängliga att använda i VBA genom att använda ArbetsbladFunktion objekt. De enda kalkylbladsfunktionerna som du inte kan ringa till är de som redan har en inbyggd VBA-motsvarighet.

En påminnelse om syntaxen för Excel Worksheet RoundUp -funktionen:

AVRUNDNING (Antal, siffror) där:

  • Nummer - Det nummer som du vill avrunda.
  • Siffror - Antalet siffror som du vill avrunda talet.

Så, låt oss titta på ett exempel så att du kan se hur du får åtkomst till RoundUp -kalkylbladets funktion i din VBA -kod:

12345678910111213 Sub RoundUp ()Dim enhetsräkning som dubbelDim roundup Antal räknas som dubbelunitcount = 7.075711roundupUnitcount = Application.WorksheetFunction.RoundUp (unitcount, 4)MsgBox "Värdet är" & roundupUnitcountAvsluta Sub

Resultatet är:

RoundUp till närmaste helnummer

Du kan avrunda till närmaste heltal genom att ange 0 som antalet decimaler:

12345 Sub RoundUpWhole ()MsgBox Application.WorksheetFunction.RoundUp (7.1, 0)Avsluta Sub

Resultatet levererades:

VBA -programmering | Kodgenerator fungerar för dig!

RoundUp -funktionsresultat

Faktiskt nummer Siffror Resultat
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

Låt oss säga att du vill avrunda ett tal med VBA. Det finns inte heller någon inbyggd VBA RoundDown-motsvarande funktion, istället igen, det du skulle göra är att kalla Excel RoundDown-kalkylfunktionen från din VBA-kod.

En påminnelse om syntaxen för Excel -kalkylbladet RoundDown -funktionen:

AVRUNDA (Antal, siffror) där:

• Antal - Det nummer som du vill avrunda.
• Siffror - Antalet siffror som du vill runda numret.

Så, låt oss titta på ett exempel, så att du kan se hur du kommer åt funktionen RoundDown -kalkylblad i din VBA -kod:

12345678910111213 Sub RoundDown ()Dim enhetsräkning som dubbelDim rounddown Antal räknas som dubbelunitcount = 5.225193rounddownUnitcount = Application.WorksheetFunction.RoundDown (unitcount, 4)MsgBox "Värdet är" & rounddownUnitcountAvsluta Sub

Resultatet är:

RoundDown till närmaste helnummer

Du kan avrunda till närmaste heltal genom att ange 0 som antalet decimaler:

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

Resultatet är:

RoundDown -funktionsresultat

Faktiskt nummer Siffror Resultat
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 -programmering | Kodgenerator fungerar för dig!

Andra VBA -avrundningsfunktioner

VBA -tak - RoundUp till en specificerad betydelse

VBA har inte en Ceiling.Math -funktion motsvarande, så om du vill avrunda ett tal till närmaste heltal eller till närmaste angivna multipel av betydelse kan du ringa till Excel: s Ceiling.Math -kalkylbladsfunktion från din VBA -kod.

En påminnelse om syntaxen för Excel -kalkylbladet Ceiling.Math -funktion:

CEILING.MATH (Antal, [Betydelse], [Läge]) där:

  • Number - Det nummer som du vill runda upp.
  • Betydelse (Frivillig) - Multipeln som du vill att ditt nummer ska avrundas till.
  • Läge (Frivillig) - Kontrollerar om negativa tal är avrundade mot eller bort från noll.

Så, låt oss titta på ett exempel så att du kan se hur du får åtkomst till Ceiling.Math -kalkylbladets funktion i din VBA -kod:

12345678910111213 Sub RoundUpToSignificance ()Dim enhetsräkning som dubbelDimma takmatta Antal räknas som dubbelenhetsräkning = 4,1221ceilingmathUnitcount = Application.WorksheetFunction.Ceiling_Math (unitcount, 5)MsgBox "Värdet är" & ceilingmathUnitcountAvsluta Sub

Resultatet är:

VBA RoundUp till specificerade signifikansresultat

Faktiskt nummer Betydelse Läge Resultat
4.1221 5
4.1221 3 6
4.1221 50 50
-4.1221 3 -3
-4.1221 3 -1 -6

VBA -golv - RoundDown till en specifik betydelse

VBA har inte heller motsvarande Floor.Math -funktion. Men än en gång, om du vill avrunda ett tal till närmaste heltal eller till närmaste angivna multipel av betydelse, kan du ringa till Excel: s Floor.Math -kalkylbladsfunktion från VBA.

En påminnelse om syntaxen för Excel Worksheet Floor.Math -funktionen:

FLOOR.MATH (Antal, [Betydelse], [Läge]) där:
• Antal - Det nummer som du vill avrunda.
• Betydelse (Frivillig) - Multipeln som du vill att ditt nummer ska avrundas till.
• Läge (Valfritt) - Kontrollerar om negativa tal avrundas mot eller bort från noll.

Så, låt oss titta på ett exempel, så att du kan se hur du kommer åt funktionen Floor.Math -kalkylblad i din VBA -kod:

1234567891011 Sub RoundDownToSignificance ()Dim enhetsräkning som dubbelDim golvmatta Antal räknas som dubbelenhetsantal = 4.55555559floormathUnitcount = Application.WorksheetFunction.Floor_Math (unitcount, 2)MsgBox "Värdet är" & floormathUnitcountAvsluta Sub

Resultatet är:

VBA RoundDown till specificerade signifikansresultat

Faktiskt nummer Betydelse Läge Resultat
4.55555559 4
4.55555559 3 3
4.55555559 50 0
-4.55555559 3 -6
-4.55555559 3 -1 -3

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave