VBA -runde
VBA -rundefunktionen afrunder tal til et bestemt antal cifre.
Syntaks for VBA Round -funktionen
Syntaksen for VBA Round -funktionen er:
Round (Expression, [Decimal_places]) hvor:
- Udtryk - tallet, der skal rundes.
- Decimal_places (Valgfri) - Et helt tal, der angiver antallet af decimaler, der skal rundes. Værdien skal være større end eller lig med 0 (> = 0). Hvis den er blank, bruges standardværdien 0, hvilket betyder, at funktionen afrunder til det nærmeste heltal.
Så lad os se på et eksempel, så du kan se, hvordan VBA Round -funktionen fungerer og afrunder til 1 decimal:
12345 | Underrunde1 ()Msgbox Round (7,25, 1)Afslut Sub |
Den resulterende MessageBox:
VBA Round a Variable
I ovenstående eksempel indtastede vi det skal afrundede tal direkte i funktionen, men normalt vil du i stedet afrunde en variabel. Følgende er et eksempel ved hjælp af en variabel i stedet:
Bemærk: Vi bruger typen Double -variabel for at gemme decimalværdier.
123456789 | UnderrundeUsingVariable ()Dim enhedstal som dobbeltenhedstal = 7,25MsgBox "Værdien er" og rund (enhedstal, 1)Afslut Sub |
Resultatet er:
VBA -afrundingsresultater
Faktisk 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æt af at søge efter eksempler på VBA -kode? Prøv AutoMacro!
VBA -rundcelleværdi
Du kan også afrunde en celleværdi direkte i VBA:
123 | Sub RoundCell ()Område ("A1"). Værdi = runde (område ("A1"). Værdi, 2)Afslut Sub |
VBA RoundUp -funktion
Lad os sige, at du vil afrunde et tal op ved hjælp af VBA. Der er ingen indbygget VBA RoundUp-ækvivalent funktion, i stedet kan du kalde Excel RoundUp-regnearksfunktionen fra din VBA-kode:
1 | roundupUnitcount = Application.WorksheetFunction.RoundUp (unitcount, 3) |
Excels regnearksfunktioner er tilgængelige til brug i VBA ved hjælp af ArbejdsarkFunktion objekt. De eneste regnearksfunktioner, som du ikke kan kalde, er dem, der allerede har en indbygget VBA-ækvivalent.
En påmindelse om syntaksen for Excel -regneark RoundUp -funktionen:
ROUNDUP (tal, cifre) hvor:
- Nummer - Det nummer, du gerne vil afrunde.
- Cifre - Antallet af cifre, du gerne vil afrunde tallet.
Så lad os se på et eksempel, så du kan se, hvordan du får adgang til RoundUp -regnearksfunktionen i din VBA -kode:
12345678910111213 | Sub RoundUp ()Dim enhedstal som dobbeltDim roundupUntælling som dobbeltenhedstal = 7.075711roundupUnitcount = Application.WorksheetFunction.RoundUp (unitcount, 4)MsgBox "Værdien er" & roundupUnitcountAfslut Sub |
Resultatet er:
RoundUp til det nærmeste hele nummer
Du kan afrunde til nærmeste hele tal ved at angive 0 som antallet af decimaler:
12345 | Sub RoundUpWhole ()MsgBox Application.WorksheetFunction.RoundUp (7.1, 0)Afslut Sub |
Resultatet blev leveret:
VBA -programmering | Kodegenerator virker for dig!
RoundUp -funktionsresultater
Faktisk nummer | Cifre | 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
Lad os sige, at du vil afrunde et tal med VBA. Der er heller ingen indbygget VBA RoundDown-tilsvarende funktion, i stedet igen, hvad du ville gøre, er at kalde Excel RoundDown-regnearksfunktionen fra din VBA-kode.
En påmindelse om syntaksen for Excel -regneark RoundDown -funktionen:
NEDRUNDT (tal, cifre) hvor:
• Nummer - Det tal, du gerne vil afrunde.
• Cifre - Antallet af cifre, du gerne vil afrunde tallet.
Så lad os se på et eksempel, så du kan se, hvordan du får adgang til RoundDown -regnearksfunktionen i din VBA -kode:
12345678910111213 | Sub RoundDown ()Dim enhedstal som dobbeltDim rounddownUntælling som dobbeltenhedstal = 5.225193rounddownUnitcount = Application.WorksheetFunction.RoundDown (unitcount, 4)MsgBox "Værdien er" & rounddownUnitcountAfslut Sub |
Resultatet er:
Rund ned til det nærmeste hele nummer
Du kan afrunde til nærmeste hele tal ved at angive 0 som antallet af decimaler:
12345 | Sub RoundDownWhole ()MsgBox Application.WorksheetFunction.RoundDown (7.8, 0)Afslut Sub |
Resultatet er:
RoundDown -funktionsresultater
Faktisk nummer | Cifre | 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 | Kodegenerator virker for dig!
Andre VBA -afrundingsfunktioner
VBA -loft - RoundUp til en specificeret betydning
VBA har ikke en Ceiling.Math -funktion ækvivalent, så hvis du vil afrunde et tal op til det nærmeste heltal eller til det nærmeste angivne multiplum af betydning, kan du kalde Excel's Ceiling.Math -regnearksfunktion fra din VBA -kode.
En påmindelse om syntaksen i Excel -regnearket Ceiling.Math -funktion:
CEILING.MATH (Nummer, [Betydning], [Mode]) hvor:
- Nummer - Det nummer, du gerne vil afrunde.
- Betydning (Valgfri) - Det multiplum, som du vil have dit nummer afrundet til.
- Mode (Valgfri) - Kontrollerer, om negative tal afrundes mod eller væk fra nul.
Så lad os se på et eksempel, så du kan se, hvordan du får adgang til Ceiling.Math -regnearksfunktionen i din VBA -kode:
12345678910111213 | Sub RoundUpToSignificance ()Dim enhedstal som dobbeltDim loftsmatte Antal som dobbeltenhedstal = 4.1221ceilingmathUnitcount = Application.WorksheetFunction.Ceiling_Math (unitcount, 5)MsgBox "Værdien er" & ceilingmathUnitcountAfslut Sub |
Resultatet er:
VBA RoundUp til specificerede signifikansresultater
Faktisk nummer | Betydning | Mode | Resultat |
---|---|---|---|
4.1221 | 5 | ||
4.1221 | 3 | 6 | |
4.1221 | 50 | 50 | |
-4.1221 | 3 | -3 | |
-4.1221 | 3 | -1 | -6 |
VBA Floor - RoundDown til en specificeret betydning
VBA har heller ikke en Floor.Math -funktionsækvivalent. Men igen, hvis du vil afrunde et tal ned til det nærmeste heltal eller til det nærmeste angivne multiplum af betydning, kan du kalde Excel's Floor.Math -regnearksfunktion fra VBA.
En påmindelse om syntaksen i Excel -regnearksgulvet.Math -funktion:
FLOOR.MATH (Nummer, [Betydning], [Mode]) hvor:
• Nummer - Det tal, du gerne vil afrunde.
• Betydning (Valgfri) - Det multiplum, som du vil have dit nummer afrundet til.
• Tilstand (Valgfrit) - Kontrollerer, om negative tal afrundes mod eller væk fra nul.
Så lad os se på et eksempel, så du kan se, hvordan du får adgang til funktionen Floor.Math -regneark i din VBA -kode:
1234567891011 | Sub RoundDownToSignificance ()Dim enhedstal som dobbeltDim floormathUnitcount as Doubleenhedstal = 4.55555559floormathUnitcount = Application.WorksheetFunction.Floor_Math (unitcount, 2)MsgBox "Værdien er" & floormathUnitcountAfslut Sub |
Resultatet er:
VBA Round Ned til specificerede signifikansresultater
Faktisk nummer | Betydning | Mode | Resultat |
---|---|---|---|
4.55555559 | 4 | ||
4.55555559 | 3 | 3 | |
4.55555559 | 50 | 0 | |
-4.55555559 | 3 | -6 | |
-4.55555559 | 3 | -1 | -3 |