VBA ROUND-funktion

Excel VBA Round-funktion

Rundfunktion i VBA är en matematisk funktion som, som namnet själv antyder, avrundar upp eller ned det angivna numret till den specifika uppsättning decimaler som användaren anger, den här funktionen använder logiken för runda, vilket innebär att det tar 5 som referens och valfritt tal med sista siffran efter decimaltalet är under 5 då är det nedåt och tvärtom.

Du kan avrunda ett tal till tvåsiffrigt decimal, tresiffrigt decimal eller inget decimal alls. Till exempel om du har numret 5.8697. Om du avrundar numret till en tvåsiffrigt decimal kommer det att vara 5,87 om du avrundar till tre siffror så kommer det att avrundas till 5,870, om du vill avrunda till noll kommer det att vara 6

I banktal avrundas alla decimaler som är mindre än 0,5 nedåt till föregående heltal och alla decimaler som är större än eller lika med 0,5 avrundas upp till nästa heltal.

Jag hoppas att du har använt RUND-funktionen i kalkylbladet. Även i VBA kan vi använda den här funktionen men vi har skillnad på dessa funktioner. Vi kommer att se skillnaden mellan dessa två funktioner senare i den här artikeln.

Syntax

Ta en titt på syntaxen för Round-funktionen.

Antal: Detta är det nummer vi försöker runda.

[Antal siffror efter decimal]: Hur många siffror du behöver efter decimalvärdet.

Exempel

Du kan ladda ner denna Excel-mall för VBA-runda funktioner här - Excel-mall för VBA-runda funktioner

Antag att du har siffran 4.534 och att du vill avrunda till två siffror.

Följ stegen nedan.

Steg 1: Förklara variabeln som variant.

Koda:

 Sub Round_Example1 () Dim K Som Variant End Sub 

Steg 2: För denna variabel “ k ” tilldela värdet genom RUND-funktionen.

Koda:

 Sub Round_Example1 () Dim K Som Variant K = Round (End Sub 

Steg 3: Siffran är inget annat än vad vi försöker avrunda, i det här fallet är siffran 4,534

Koda:

 Sub Round_Example1 () Dim K Som Variant K = Round (4.534, End Sub 

Steg 4: Hur många siffror vi behöver avrunda, i det här fallet behöver vi avrunda till två siffror .

Koda:

 Sub Round_Example1 () Dim K Som Variant K = Round (4.534, 2) End Sub 

Steg 5: Visa nu variabeln ”k” i meddelandefältet VBA.

Koda:

 Sub Round_Example1 () Dim K Som Variant K = Round (4.534, 2) MsgBox K End Sub 

Kör den här koden och se vad vi får.

Vi fick resultatet 4,53 när vi avrundade till två siffror.

Nu kommer jag att ändra numret från 4.534 till 4.535 . Titta vad som händer nu.

Koda:

 Sub Round_Example1 () Dim K As Variant K = Round (4.535, 2) MsgBox K End Sub 

Kör nu koden och se vad resultatet är.

Vi fick resultatet 4,54 en decimal högre än det tidigare värdet 4,53. Detta beror på att vi i detta exempel har angett siffran som 4,535, så efter nummer 3 är nästa nummer 5 så det avrundas till nästa nummer så 3 blir 4.

Nu ska jag ange numret som 2.452678 och jag försöker avrunda till tre siffror.

Koda:

 Sub Round_Example2 () Dim K Som Variant K = Round (2.452678, 3) MsgBox K End Sub 

Kör den här koden för att se resultatet.

Resultatet är 2.453 .

2.45 2678 Här är siffrorna efter andra decimalen 2678. Efter nummer 2 är nästa tal 6 som är större än eller lika med 5 så det avrundas uppåt nästa decimaltal.

Nu ska jag använda samma nummer för att avrunda till noll och se vad som händer.

Koda:

 Sub Round_Example3 () Dim K Som Variant K = Round (2.452678, 0) MsgBox K End Sub 

Kör koden och se vad vi får.

Eftersom jag har använt rundan till noll fick vi resultatet som 2.

Anledningen till att vi fick resultatet som 2, för här är decimaltalet första 4 som är mindre än 0,5 så det avrundas nedåt.

Skillnaden mellan Excel och VBA ROUND-funktion

Det finns huvudsakligen två skillnader.

# 1 - Syntax för båda funktionerna:

Om du tittar på syntaxen för båda funktionerna har vi en skillnad här.

Excel Round Syntax: Round (Number, Antal siffror efter decimal)
VBA Round Syntax: Round (Number, [Antal siffror efter decimal])

I excel är båda argumenten obligatoriska men i VBA är andra argumentet valfritt.

Om du ignorerar det andra argumentet i VBA tar standardargumentet som noll så att vi får hela talet.

# 2 - Resultat:

Resultatet av dessa två funktioner är olika. Nedan följer några exempel