VBA -runde
VBA -rundefunksjonen avrunder tallene til et angitt antall sifre.
Syntaks for VBA Round -funksjonen
Syntaksen til VBA Round -funksjonen er:
Round (Expression, [Decimal_places]) hvor:
- Uttrykk - tallet som skal rundes.
- Desimal_places (Valgfri) - Et heltall som angir antall desimaler som skal rundes. Verdien må være større enn eller lik 0 (> = 0). Hvis det er tomt, brukes standard 0, noe som betyr at funksjonen avrunder til nærmeste heltall.
Så la oss se på et eksempel slik at du kan se hvordan VBA Round -funksjonen fungerer, avrunding til 1 desimal:
12345 | Delrunde1 ()Msgbox Round (7,25, 1)Slutt Sub |
Den resulterende MessageBox:
VBA runde en variabel
I eksemplet ovenfor skrev vi inn tallet som skal avrundes direkte i funksjonen, men vanligvis vil du avrunde en variabel i stedet. Følgende er et eksempel ved å bruke en variabel i stedet:
Merk: Vi bruker typen Double variabel for å lagre desimalverdier.
123456789 | Sub RoundUsingVariable ()Dim unitcount as Doubleunitcount = 7,25MsgBox "Verdien er" og rund (enhetstall, 1)Slutt Sub |
Resultatet er:
VBA -avrundingsresultater
Faktisk nummer | Antall desimaler | 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 |
Lei av å søke etter eksempler på VBA -kode? Prøv AutoMacro!
VBA runde celleverdi
Du kan også runde en celleverdi direkte i VBA:
123 | Sub RoundCell ()Område ("A1"). Verdi = runde (område ("A1"). Verdi, 2)Slutt Sub |
VBA RoundUp -funksjon
La oss si at du vil avrunde et tall med VBA. Det er ingen innebygd VBA RoundUp-ekvivalentfunksjon, i stedet er det du kan gjøre å kalle Excel RoundUp-regnearkfunksjonen fra VBA-koden:
1 | roundupUnitcount = Application.WorksheetFunction.RoundUp (unitcount, 3) |
Excel -regnearkfunksjonene er tilgjengelige for bruk i VBA, ved bruk av Arbeidsark Funksjon gjenstand. De eneste regnearkfunksjonene du ikke kan ringe, er de som allerede har en innebygd VBA-ekvivalent.
En påminnelse om syntaksen til Excel Worksheet RoundUp -funksjonen:
ROUNDUP (tall, sifre) der:
- Nummer - tallet du vil avrunde.
- Sifre - Antall sifre du vil avrunde tallet.
Så la oss se på et eksempel, slik at du kan se hvordan du får tilgang til RoundUp -regnearkfunksjonen i VBA -koden din:
12345678910111213 | Sub RoundUp ()Dim unitcount as DoubleDim roundup Antall som dobbeltunitcount = 7.075711roundupUnitcount = Application.WorksheetFunction.RoundUp (unitcount, 4)MsgBox "Verdien er" og roundupUnitcountSlutt Sub |
Resultatet er:
Runde opp til nærmeste hele tall
Du kan avrunde til nærmeste hele tall ved å angi 0 som antall desimaler:
12345 | Sub RoundUpWhole ()MsgBox Application.WorksheetFunction.RoundUp (7.1, 0)Slutt Sub |
Resultatet ble levert:
VBA -programmering | Kodegenerator fungerer for deg!
RoundUp -funksjonsresultater
Faktisk nummer | Siffer | 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 -funksjon
La oss si at du vil avrunde et tall med VBA. Det er heller ingen innebygd VBA RoundDown-tilsvarende funksjon, i stedet igjen, det du ville gjøre er å kalle Excel RoundDown-regnearkfunksjonen fra VBA-koden.
En påminnelse om syntaksen til Excel -regnearket RoundDown -funksjonen:
NEDRUNDT (tall, sifre) der:
• Nummer - tallet du vil avrunde nedover.
• Siffer - Antall siffer du vil avrunde tallet.
Så la oss se på et eksempel, slik at du kan se hvordan du får tilgang til RoundDown -regnearkfunksjonen i VBA -koden din:
12345678910111213 | Sub RoundDown ()Dim unitcount as DoubleDim rounddown Antall som dobbeltunitcount = 5.225193rounddownUnitcount = Application.WorksheetFunction.RoundDown (unitcount, 4)MsgBox "Verdien er" og rounddownUnitcountSlutt Sub |
Resultatet er:
Rund ned til nærmeste hele tall
Du kan runde ned til nærmeste hele tall ved å angi 0 som antall desimaler:
12345 | Sub RoundDownWhole ()MsgBox Application.WorksheetFunction.RoundDown (7.8, 0)Slutt Sub |
Resultatet er:
RoundDown -funksjonsresultater
Faktisk nummer | Siffer | 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 fungerer for deg!
Andre VBA -avrundingsfunksjoner
VBA -tak - RoundUp til en spesifisert betydning
VBA har ikke en Ceiling.Math -funksjonekvivalent, så hvis du vil avrunde et tall til nærmeste heltall eller til det nærmeste angitte multiplumet av betydning, kan du ringe Excel's Ceiling.Math -regnearkfunksjon fra VBA -koden.
En påminnelse om syntaksen til Excel -regnearket Ceiling.Math -funksjon:
CEILING.MATH (Nummer, [Betydning], [Mode]) der:
- Nummer - tallet du vil avrunde.
- Betydning (Valgfri) - Multipelen du vil at nummeret ditt skal avrundes til.
- Modus (Valgfri) - Kontrollerer om negative tall er avrundet mot eller bort fra null.
Så la oss se på et eksempel, slik at du kan se hvordan du får tilgang til Ceiling.Math -regnearkfunksjonen i VBA -koden din:
12345678910111213 | Sub RoundUpToSignificance ()Dim unitcount as DoubleDim takmatte Antall som dobbeltunitcount = 4.1221ceilingmathUnitcount = Application.WorksheetFunction.Ceiling_Math (unitcount, 5)MsgBox "Verdien er" & ceilingmathUnitcountSlutt Sub |
Resultatet er:
VBA RoundUp til spesifiserte signifikansresultater
Faktisk nummer | Betydning | Modus | 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 spesifisert betydning
VBA har heller ikke en Floor.Math -funksjon tilsvarende. Men igjen, hvis du vil avrunde et tall ned til nærmeste heltall eller til det nærmeste angitte multiplumet av betydning, kan du ringe Excel's Floor.Math -regnearkfunksjon fra VBA.
En påminnelse om syntaksen til Excel Worksheet Floor.Math -funksjonen:
FLOOR.MATH (Nummer, [Betydning], [Mode]) der:
• Nummer - tallet du vil avrunde.
• Betydning (Valgfri) - Multipelen du vil at nummeret ditt skal avrundes til.
• Modus (Valgfritt) - Kontrollerer om negative tall er avrundet mot eller bort fra null.
Så la oss se på et eksempel, slik at du kan se hvordan du får tilgang til Floor.Math -regnearkfunksjonen i VBA -koden din:
1234567891011 | Sub RoundDownToSignificance ()Dim unitcount as DoubleDim gulvmatte Antall som dobbeltunitcount = 4.55555559floormathUnitcount = Application.WorksheetFunction.Floor_Math (unitcount, 2)MsgBox "Verdien er" & floormathUnitcountSlutt Sub |
Resultatet er:
VBA RoundDown til spesifiserte signifikansresultater
Faktisk nummer | Betydning | Modus | Resultat |
---|---|---|---|
4.55555559 | 4 | ||
4.55555559 | 3 | 3 | |
4.55555559 | 50 | 0 | |
-4.55555559 | 3 | -6 | |
-4.55555559 | 3 | -1 | -3 |