Excel VBA-rundfunktion

Du skal have brugt Excel Round-funktionen til at runde de flydende tal op til et specifikt antal decimaler. VBA Round-funktionen opfører sig totalt på en anden måde end den, du bruger i Excel. VBA Round-funktionen bruger “round to even” -logik. Hvis det nummer, du prøver at afrunde, har det sidste ciffer efter decimal> = 0, 6, afrunder VBA Round-funktionen det (Round UP).

Hvis det tal, du prøver at afrunde, har det sidste ciffer efter decimal <= 0, 4, afrundes det (afrunding). Antag, at decimaldelen er nøjagtigt 0, 5, hvad gør den så? I sådanne tilfælde kontrolleres det med heltalets del af nummeret. Hvis heltaldelen er jævn, afrundes den ned til det jævne antal af decimaldelen. Hvis heltalets del er ulige, afrunder den den op til det lige antal. Denne metode til afrunding kaldes også ”Bankers afrunding”.

Syntaks for Round-funktion i Excel VBA

VBA Round-funktionen har følgende syntaks:

Hvor,

  • Ekspression - Det flydende nummer, du vil afrunde.
  • Decimal_places - Det er et valgfrit argument, der tager en heltalværdi, der specificerer de decimaler, op til hvilke antallet skal være rundt. Bør altid være større end eller lig med nul. Hvis det ikke er angivet, betragtes som standard nul. Hvilket betyder, at et tal afrundes til et heltal.

Hvordan bruges Excel VBA Round-funktion?

Vi lærer, hvordan man bruger en VBA Round-funktion med få eksempler i Excel.

Du kan downloade denne VBA Round Excel-skabelon her - VBA Round Excel Template

Eksempel 1 - VBA-rundfunktion til afrunding af et tal

Følg nedenstående trin for at bruge Round-funktion i Excel VBA.

Trin 1: Indsæt et nyt modul under Visual Basic Editor (VBE).

Trin 2: Definer en ny underprocedure til lagring af en makro i VBE.

Kode:

 Sub Round_Ex1 () End Sub 

Trin 3: Brug MsgBox-funktionen for at kunne sprede en meddelelse som denne “Værdien afrundet er:”

Kode:

 Sub Round_Ex1 () MsgBox "Den afrundede værdi er:" End Sub 

Trin 4: Tilføj nu "& Round (10.9834, 2)" foran MsgBox-kommandoen, så den afrundede værdi vises i meddelelsesfeltet sammen.

Kode:

 Sub Round_Ex1 () MsgBox "Værdien afrundet er:" & Round (10.9834, 2) End Sub 

Trin 5: Tryk på F5 eller knappen Kør, der er placeret i øverste panel for at køre denne kode. Du vil se et output som vist nedenfor.

Eksempel 2 - Rund en variabel ved hjælp af VBA-runde

Trin 1: Definer en ny underprocedure i VBE for at gemme en makro.

Kode:

 Sub Round_Ex2 () End Sub 

Trin 2: Definer en variabel, der hedder roundNumber som Double, der kan indeholde værdien af ​​det nummer, der skal afrundes.

Kode:

 Sub Round_Ex2 () Dim roundNumber As Double End Sub 

Trin 3: Tildel en talværdi, der skal afrundes til denne variabel ved hjælp af tildelingsoperatør.

Kode:

 Sub Round_Ex2 () Dim roundNumber Som Double roundNumber = 23.98 End Sub 

Trin 4: Brug en kombination af MsgBox sammen med Round-funktion til at afrunde dette nummer op til et decimal.

Kode:

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

Trin 5: Lad os trykke på F5 eller knappen Kør for at køre denne kode og se output.

Du kan se et output som vist på skærmbilledet ovenfor. Bemærk, at med logikken "runde til jævn" afrundes den sidste decimal til 10, og den næste decimal bliver 10 selv, på grund af hvilket tallet afrundes til den nærmeste jævne del af heltalet (dvs. 24).

Eksempel # 3 - Rund celleværdi ved hjælp af VBA-runde

Antag, at den værdi, du vil afrunde, er gemt i en celle i dit excel-regneark.

Alt hvad du ønsker er at afrunde denne værdi op til to decimaler.

Trin 1: Definer en ny underprocedure i et modul til lagring af makroen.

Kode:

 Sub Round_Ex3 () End Sub 

Trin 2: Skriv kommando som "Område (" A2 "). Værdi =". Denne kommando fungerer som et sted, hvor output gemmes.

Kode:

 Sub Round_Ex3 () Område ("A2"). Værdi = End Sub 

Trin 3: Brug nu en rund funktion til at afrunde den værdi, der findes i celle A1 og gemme resultatet i celle A2. Skriv følgende kode: Rund (rækkevidde (“A1”). Værdi, 2).

Kode:

 Sub Round_Ex3 () Range ("A2"). Værdi = Round (Range ("A1"). Værdi, 2) End Sub 

Trin 4: Tryk på F5 eller Run-knappen for at køre denne kode og se output i celle A2 på dit regneark.

Eksempel 4 - Rund et nummer ved hjælp af VBA RoundUp-funktion

Antag, at du vil afrunde et nummer op ved hjælp af VBA. Det kan du gøre ved at bruge WorksheetFunction.RoundUp-funktionen.

Trin 1: Definer en ny underprocedure i Visual Basic Editor, der kan gemme din makro.

Kode:

 Sub Round_Ex4 () End Sub 

Trin 2: Definer to variabler, en for at holde det nummer, du vil afrunde. Og den anden til at gemme afrundingsresultatet.

Kode:

 Sub Round_Ex4 () Dim numToRound Som dobbelt Dim numRoundUp Som dobbelt slut Sub 

Trin 3: Gem en værdi i variabel numToRound, som du vil afrunde.

Kode:

 Sub Round_Ex4 () Dim numToRound Som dobbelt Dim numRoundUp Som Double numToRound = 12.7543712 End Sub 

Trin 4: Brug nu RoundUp til at afrunde dette nummer og gemme resultatet i en numRoundUp-variabel.

Kode:

 Sub Round_Ex4 () Dim numToRound Som dobbelt Dim numRoundUp Som Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) End Sub 

Trin 5: Brug MsgBox til at vise output under meddelelsesfeltet.

Kode:

 Sub Round_Ex4 () Dim numToRound Som Double Dim numRoundUp Som Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) MsgBox "Det afrundede nummer er:" & numRoundUp End Sub 

Trin 6: Tryk på F5 eller Run-knappen for at køre denne kode og se output.

Eksempel 5 - Afrund et tal ved hjælp af VBA RoundDown-funktion

Trin 1: I en ny underprocedure skal du definere to nye variabler med navnet numToRoundDown og roundDownNum. Én til at holde værdien på det nummer, der skal afrundes, og andre til at gemme output, efter at tallet er afrundet.

Kode:

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

Trin 2: Tildel værdi, du vil afrundes til variablen med navnet “numToRoundDown”.

Kode:

 Sub Round_Ex5 () Dim numToRoundDown Som dobbelt Dim roundDownNum Som Double numToRoundDown = 7.075711 End Sub 

Trin 3: Brug nu RoundDown til at afrunde dette nummer og gemme resultatet i en roundDownNum-variabel.

Kode:

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

Trin 4: Brug MsgBox-funktionen til at vise værdien af ​​et nummer afrundet.

Kode:

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

Trin 5: Tryk på F5 eller Run-knappen for at køre denne kode og se output som en meddelelsesboks.

Dette er det i artiklen. Vi har fanget koncepterne VBA Round, Round Up og Round Down med en håndfuld eksempler.

Ting at huske

  • Denne funktion bruger en bankers afrundingsmetode til at afrunde numrene, der er noget anderledes end den faktiske afrundingsmetode.
  • Denne funktion bruges til at runde et tal med et flydende punkt eller et tal med faste decimaler op til det specificerede antal steder.
  • Det betyder, at funktionen vil runde op eller ned på antallet afhængigt af antallet efter decimaler.
  • Antallet af decimaler skal være større end eller lig med nul.
  • Hvis decimal_pladser efterlades tomt, betragtes det som nul, og tallet afrundes derefter til det nærmeste heltal.
  • Hvis decimal_places er indstillet til mindre end nul, opstår der løbetid fejl 5. "Kørselsfejl '5': Ugyldigt procedureopkald eller argument".
  • Det er ikke rigtig forudsigeligt, hvad denne funktion vil runde værdien, når cifferet efter decimal er 5.
  • Hvis et eller begge argumenterne for Rund funktion er ikke-numerisk, returnerer funktionen fejltid 13. "Fejl ved kørsel '13': Type mismatch".

Anbefalede artikler

Dette har været en guide til VBA Round-funktion. Her har vi drøftet, hvordan man bruger Excel VBA Round-funktion sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. Komplet guide til VBA ved fejl
  2. Sådan bruges VBA-nummerformat?
  3. VBA VLOOKUP-funktion med eksempler
  4. Oprettelse af VBA-funktion i Excel

Kategori: