Excel VBA-rundfunktion

Du måste ha använt Excel Round-funktionen för att runda de flytande siffrorna upp till ett specifikt antal decimaler. VBA Round-funktionen uppträder totalt på ett annat sätt än den du använder i Excel. VBA Round-funktionen använder "round to even" -logiken. Om antalet du försöker runda har den sista siffran efter decimal> = 0, 6, avrundar VBA Round-funktionen (Round UP).

Om antalet du försöker runda har den sista siffran efter decimal <= 0, 4, avrundas det (Round Down). Anta att decimaldelen är exakt 0, 5, vad gör den då? I sådana fall kontrollerar den med heltalets del av numret. Om heltalets del är jämn, avrundas den till jämnt antal decimaldelar. Om heltalet är udda, avrundar den upp till jämnt antal. Denna avrundningsmetod kallas också "Bankers avrundning".

Syntax för Round Function i Excel VBA

VBA Round-funktionen har följande syntax:

Var,

  • Uttryck - Det flytande numret du ville runda.
  • Decimal_places - Det är ett valfritt argument som tar ett heltal som anger de decimaler som numret ska vara runt. Bör alltid vara större än eller lika med noll. Om det inte anges beaktas som standard noll. Vilket innebär att ett nummer avrundas till ett heltal.

Hur använder jag Excel VBA Round-funktion?

Vi kommer att lära dig att använda en VBA Round-funktion med några exempel i Excel.

Du kan ladda ner denna VBA Round Excel-mall här - VBA Round Excel Mall

Exempel 1 - VBA-rundfunktion för att runda ett nummer

Följ stegen nedan för att använda Round-funktionen i Excel VBA.

Steg 1: Infoga en ny modul under Visual Basic Editor (VBE).

Steg 2: Definiera en ny delprocedur för att lagra ett makro i VBE.

Koda:

 Sub Round_Ex1 () Slut Sub 

Steg 3: Använd MsgBox-funktionen för att kunna visa ett meddelande som det här: "The Value Rounded is:"

Koda:

 Sub Round_Ex1 () MsgBox "Värdet avrundat är:" End Sub 

Steg 4: Lägg nu till "& Round (10.9834, 2)" framför MsgBox-kommandot, så att det avrundade värdet visas i meddelanderutan längs med.

Koda:

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

Steg 5: Tryck på F5 eller Run-knappen placerad på den översta panelen för att köra den här koden. Du kommer att se en utgång som visas nedan.

Exempel 2 - Runda en variabel med hjälp av VBA-rundan

Steg 1: Definiera en ny delprocedur i VBE för att lagra ett makro.

Koda:

 Sub Round_Ex2 () Slut Sub 

Steg 2: Definiera en variabel med namnet roundNumber som Double som kan innehålla värdet på antalet som ska avrundas.

Koda:

 Sub Round_Ex2 () Dim roundNumber As Double End Sub 

Steg 3: Tilldela ett talvärde som ska avrundas till denna variabel med tilldelningsoperatör.

Koda:

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

Steg 4: Använd en kombination av MsgBox tillsammans med Round-funktionen för att runda detta nummer upp till en decimal.

Koda:

 Sub Round_Ex2 () Dim roundNumber As Double roundNumber = 23, 98 MsgBox "Antalet avrundat är:" & Round (roundNumber, 1) End Sub 

Steg 5: Låt oss trycka på F5 eller Kör-knappen för att köra den här koden och se utgången.

Du kan se en utgång som visas på skärmdumpen ovan. Observera att med logiken "runda till jämn" avrundas den sista decimalen till 10 och nästa decimal blir 10 själv, varför numret avrundas till den närmaste jämna delen av heltalet (dvs. 24).

Exempel 3 - Rundt cellvärde med VBA-runda

Anta att värdet du ville avrunda lagras i en cell i ditt Excel-kalkylblad.

Allt du vill är att runda detta värde upp till två decimaler.

Steg 1: Definiera en ny delprocedur i en modul för att lagra makro.

Koda:

 Sub Round_Ex3 () Slut Sub 

Steg 2: Skriv kommando som "Range (" A2 "). Value =". Detta kommando fungerar som en plats där utdata lagras.

Koda:

 Sub Round_Ex3 () Range ("A2"). Värde = End Sub 

Steg 3: Använd nu en rund funktion för att runda värdet som finns i cell A1 och lagra resultatet i cell A2. Skriv följande kod: Round (Range (“A1”). Value, 2).

Koda:

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

Steg 4: Tryck på F5 eller Run-knappen för att köra den här koden och se utgången i cell A2 i ditt kalkylblad.

Exempel 4 - Runda ett nummer med hjälp av VBA RoundUp-funktion

Anta att du vill avrunda ett nummer med VBA. Du kan göra det genom att använda WorksheetFunction.RoundUp-funktionen.

Steg 1: Definiera en ny delprocedur i Visual Basic Editor som kan lagra ditt makro.

Koda:

 Sub Round_Ex4 () Slut Sub 

Steg 2: Definiera två variabler, en för att hålla det nummer du vill avrunda. Och den andra för att lagra roundup-resultatet.

Koda:

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

Steg 3: Lagra ett värde i variabel numToRound som du ville runda upp.

Koda:

 Sub Round_Ex4 () Dim numToRound Som Double Dim numRoundUp As Double numToRound = 12.7543712 Slut Sub 

Steg 4: Använd nu RoundUp för att runda upp detta nummer och lagra resultatet i en numRoundUp-variabel.

Koda:

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

Steg 5: Använd MsgBox för att visa utdata under meddelanderutan.

Koda:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) MsgBox "Numret avrundat är:" & numRoundUp End Sub 

Steg 6: Tryck på F5 eller Run-knappen för att köra den här koden och se utgången.

Exempel 5 - Avrunda ett nummer med hjälp av VBA RoundDown-funktion

Steg 1: I en ny delprocedur definierar du två nya variabler med namnet numToRoundDown och roundDownNum. En för att hålla värdet på antalet som ska avrundas och andra för att lagra utgången efter att numret avrundas.

Koda:

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

Steg 2: Tilldela värdet du vill avrundas till variabeln med namnet “numToRoundDown”.

Koda:

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

Steg 3: Använd nu RoundDown för att runda upp detta nummer och lagra resultatet i en variabel roundDownNum.

Koda:

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

Steg 4: Använd MsgBox-funktionen för att visa värdet på ett avrundat nummer.

Koda:

 Sub Round_Ex5 () Dim numToRoundDown Som Double Dim roundDownNum As Double numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) MsgBox "Numret avrundat är:" & roundDownNum End Sub 

Steg 5: Tryck på F5 eller Run-knappen för att köra den här koden och se utgången som en meddelanderuta.

Det här är i artikeln. Vi har fångat in begreppen VBA Round, Round Up och Round Down med en handfull exempel.

Saker att komma ihåg

  • Denna funktion använder en bankers avrundningsmetod för att runda siffrorna som är något annorlunda än den faktiska avrundningsmetoden.
  • Denna funktion används för att runda ett nummer med en flytande punkt eller ett nummer med fasta decimaler upp till angivet antal platser.
  • Det betyder att funktionen kommer att runda upp eller ner antalet beroende på antalet efter decimaler.
  • Argumentplatser måste vara större än eller lika med noll.
  • Om decimal_platser lämnas tomt kommer det att betraktas som noll och numret avrundas sedan till närmaste heltal.
  • Om decimal_platser är inställd mindre än noll, uppstår körtidfel 5. ”Körningsfel '5': Ogiltigt procedursamtal eller argument".
  • Det är inte riktigt förutsägbart vad den här funktionen kommer att runda värdet när siffran efter decimal är 5.
  • Om ett eller båda argumentet för Rundfunktionen är icke-numeriskt, kommer funktionen att returnera körtid 13-fel. ”Körtidsfel '13': Skriv in felanpassning".

Rekommenderade artiklar

Detta har varit en guide till VBA Round-funktionen. Här har vi diskuterat hur du använder Excel VBA Round Function tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Komplett guide till VBA vid fel
  2. Hur använder man VBA-nummerformat?
  3. VBA VLOOKUP-funktion med exempel
  4. Skapa VBA-funktion i Excel

Kategori: