Excel VBA-rundfunksjon

Du må ha brukt Excel Round-funksjonen for å runde de flytende tallene opp til et bestemt antall desimaler. VBA Round-funksjon oppfører seg totalt på en annen måte enn den du bruker i Excel. VBA Round-funksjonen bruker “round to even” -logikk. Hvis tallet du prøver å runde har det siste sifferet etter desimal> = 0, 6, avrunder VBA Round-funksjonen det (Round UP).

Hvis tallet du prøver å runde har det siste sifferet etter desimal <= 0.4, avrunder det det (Round Down). Anta at desimaldelen er nøyaktig 0, 5, hva gjør den da? I slike tilfeller sjekker den med heltalets del av tallet. Hvis heltaledelen er jevn, avrundes den til det desimale tallet til desimaldelen. Hvis heltaledelen er merkelig, avrunder den den til det jevne tallet. Denne metoden for avrunding kalles også "Bankers avrunding".

Syntaks for Round Function i Excel VBA

VBA Round-funksjonen har følgende syntaks:

Hvor,

  • Uttrykk - Det flytende tallet du ønsket å runde.
  • Decimal_places - Det er et valgfritt argument som tar en heltallverdi som spesifiserer desimaler som tallet antas å være rundt. Bør alltid være større enn eller tilsvarer null. Hvis ikke spesifisert, vurderes null som standard. Noe som betyr at et tall er avrundet til et helt tall.

Hvordan bruke Excel VBA Round-funksjon?

Vi lærer hvordan du bruker en VBA Round-funksjon med få eksempler i Excel.

Du kan laste ned denne VBA Round Excel Mal her - VBA Round Excel Mal

Eksempel 1 - VBA-rundfunksjon for å runde et nummer

Følg trinnene nedenfor for å bruke Round-funksjonen i Excel VBA.

Trinn 1: Sett inn en ny modul under Visual Basic Editor (VBE).

Trinn 2: Definer en ny delprosedyre for å lagre en makro i VBE.

Kode:

 Sub Round_Ex1 () Slutt Sub 

Trinn 3: Bruk MsgBox-funksjonen for å kunne vise en melding som denne “Verdien avrundet er:”

Kode:

 Sub Round_Ex1 () MsgBox "Verdien avrundet er:" End Sub 

Trinn 4: Legg til “& Round (10.9834, 2)” foran MsgBox-kommandoen, slik at den avrundede verdien vises i meldingsboksen.

Kode:

 Sub Round_Ex1 () MsgBox "The Value Rounded is:" & Round (10.9834, 2) End Sub 

Trinn 5: Trykk F5 eller Kjør-knappen plassert på det øverste panelet for å kjøre denne koden. Du vil se en utgang som vist nedenfor.

Eksempel # 2 - Rund en variabel ved hjelp av VBA-runde

Trinn 1: Definer en ny delprosedyre i VBE for å lagre en makro.

Kode:

 Sub Round_Ex2 () Slutt Sub 

Trinn 2: Definer en variabel som heter roundNumber som Double som kan inneholde verdien på tallet som skal avrundes.

Kode:

 Sub Round_Ex2 () Dim roundNumber As Double End Sub 

Trinn 3: Tildel en tallverdi som skal avrundes til denne variabelen ved hjelp av tildelingsoperatør.

Kode:

 Sub Round_Ex2 () Dim roundNumber As Double roundNumber = 23.98 Slutt Sub 

Trinn 4: Bruk en kombinasjon av MsgBox sammen med Round-funksjon for å runde dette tallet opp til ett desimal.

Kode:

 Sub Round_Ex2 () Dim roundNumber As Double roundNumber = 23, 98 MsgBox "Antallet avrundet er:" & Round (roundNumber, 1) End Sub 

Trinn 5: La oss trykke på F5 eller Kjør-knappen for å kjøre denne koden og se utdataene.

Du kan se en utgang som vist på skjermbildet over. Vær oppmerksom på at med logikken “runde til jevn” blir den siste desimal avrundet til 10 og neste desimal blir 10 selv, på grunn av hvilken tallet blir avrundet til den nærmeste jevne delen av heltallet (dvs. 24).

Eksempel 3 - Runde celleverdi ved bruk av VBA-runde

Anta at verdien du ønsket å runde er lagret i en celle i Excel-regnearket.

Alt du ønsker er å runde denne verdien opp til to desimaler.

Trinn 1: Definer en ny delprosedyre i en modul for å lagre makroen.

Kode:

 Sub Round_Ex3 () Slutt Sub 

Trinn 2: Skriv kommando som "Område (" A2 "). Verdi =". Denne kommandoen fungerer som et sted der output blir lagret.

Kode:

 Sub Round_Ex3 () Range ("A2"). Verdi = End Sub 

Trinn 3: Bruk nå en rund funksjon for å runde verdien som er til stede i celle A1 og lagre resultatet i celle A2. Skriv følgende kode: runde (rekkevidde (“A1”). Verdi, 2).

Kode:

 Sub Round_Ex3 () Range ("A2"). Verdi = Round (Range ("A1"). Verdi, 2) End Sub 

Trinn 4: Trykk på F5 eller Run-knappen for å kjøre denne koden og se utdataene i celle A2 på arbeidsarket.

Eksempel 4 - Rund et nummer ved hjelp av VBA RoundUp-funksjon

Anta at du vil runde et nummer opp med VBA. Du kan gjøre det ved å bruke WorksheetFunction.RoundUp-funksjonen.

Trinn 1: Definer en ny delprosedyre i Visual Basic Editor som kan lagre makroen din.

Kode:

 Sub Round_Ex4 () Slutt Sub 

Trinn 2: Definer to variabler, en for å holde tallet du ønsket å avrunde. Og den andre for å lagre roundup-resultatet.

Kode:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp Som Double End Sub 

Trinn 3: Lagre en verdi i variabelen numToRound som du ønsket å avrunde.

Kode:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double numToRound = 12.7543712 Slutt Sub 

Trinn 4: Bruk RoundUp til å runde opp dette nummeret og lagre resultatet i en numRoundUp-variabel.

Kode:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) Slutt Sub 

Trinn 5: Bruk MsgBox for å vise utdataene under meldingsboksen.

Kode:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) MsgBox "Nummeret avrundet er:" & numRoundUp End Sub 

Trinn 6: Trykk på F5 eller Run-knappen for å kjøre denne koden og se utdataene.

Eksempel 5 - Avrund et nummer ved hjelp av VBA RoundDown-funksjon

Trinn 1: I en ny delprosedyre definerer du to nye variabler med navnet numToRoundDown og roundDownNum. Én for å holde verdien på tallet som skal avrundes og andre for å lagre utdata etter at tallet er avrundet.

Kode:

 Sub Round_Ex5 () Dim numToRoundDown Som Double Dim roundDownNum Som Double End Sub 

Trinn 2: Tildel verdien du vil bli avrundet til variabelen som heter “numToRoundDown”.

Kode:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double numToRoundDown = 7.075711 End Sub 

Trinn 3: Bruk RoundDown til å runde opp dette tallet og lagre resultatet i en roundDownNum-variabel.

Kode:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) End Sub 

Trinn 4: Bruk MsgBox-funksjonen for å vise verdien til et nummer avrundet.

Kode:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) MsgBox "Nummeret avrundet er:" & roundDownNum End Sub 

Trinn 5: Trykk på F5 eller Run-knappen for å kjøre denne koden og se utdataene som en meldingsboks.

Dette er det i artikkelen. Vi har fanget opp konseptene VBA Round, Round Up og Round Down med en håndfull eksempler.

Ting å huske

  • Denne funksjonen bruker en bankers avrundingsmetode for å runde tallene som er noe annerledes enn den faktiske avrundingsmetoden.
  • Denne funksjonen brukes til å runde et tall med et flytende punkt eller et tall med faste desimaler opp til spesifisert antall steder.
  • Det betyr at funksjonen vil runde opp eller ned tallet, avhengig av antall etter desimaler.
  • Argumentets desimaltegn må være større enn eller lik null.
  • Hvis desimaler plasseres tomme, vil det bli vurdert som null, og tallet blir deretter avrundet til nærmeste heltall.
  • Hvis decimal_places er satt mindre enn null, oppstår kjøretidfeil 5. “Kjørtidsfeil '5': Ugyldig prosedyresamtale eller argument".
  • Det er ikke veldig forutsigbart hva denne funksjonen vil runde verdien når sifferet etter desimalet er 5.
  • Hvis ett eller begge argumentene til Round-funksjonen er ikke-numerisk, vil funksjonen returnere kjøretid 13 feil. “Kjørtidsfeil '13': Skriv feilpasning".

Anbefalte artikler

Dette har vært en guide til VBA Round Function. Her har vi diskutert hvordan du bruker Excel VBA Round Function sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. Komplett guide til VBA ved feil
  2. Hvordan bruke VBA-nummerformat?
  3. VBA VLOOKUP-funksjon med eksempler
  4. Opprette VBA-funksjon i Excel

Kategori: