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 |