Excel VBA Round-functie

U moet de functie Excel Round hebben gebruikt om de zwevende getallen naar boven af ​​te ronden op een specifiek aantal decimalen. De VBA Round-functie gedraagt ​​zich volledig op een andere manier dan die u in Excel gebruikt. De VBA Round-functie maakt gebruik van "round to even" -logica. Als het getal dat u probeert af te ronden het laatste cijfer achter de komma> = 0, 6 heeft, rondt de VBA Round-functie dit naar boven af ​​(Round UP).

Als het getal dat u probeert af te ronden het laatste cijfer achter de komma <= 0, 4 heeft, rondt het dit naar beneden af ​​(Afronden naar beneden). Stel dat het decimale deel precies 0, 5 is, wat doet het dan? In dergelijke gevallen wordt gecontroleerd met het gehele deel van het nummer. Als het gehele getal even is, rondt het naar beneden af ​​op het even getal van het decimale deel. Als het gehele getal oneven is, rondt het dit naar boven af ​​op het even getal. Deze afrondingsmethode wordt ook wel 'Afronding bankier' genoemd.

Syntaxis van de ronde functie in Excel VBA

De functie VBA Round heeft de volgende syntaxis:

Waar,

  • Expressie - Het zwevende getal dat u wilt afronden.
  • Decimale_plaatsen - Het is een optioneel argument waarvoor een geheel getal wordt gebruikt dat de decimalen aangeeft tot waar het getal rond moet zijn. Moet altijd groter zijn dan of gelijk zijn aan nul. Indien niet gespecificeerd, wordt standaard nul beschouwd. Dat betekent dat een getal wordt afgerond op een geheel getal.

Hoe de Excel VBA Round-functie te gebruiken?

We zullen leren hoe een VBA Round-functie te gebruiken met enkele voorbeelden in Excel.

U kunt deze VBA Round Excel Template hier downloaden - VBA Round Excel Template

Voorbeeld # 1 - VBA-rondefunctie om een ​​getal af te ronden

Volg de onderstaande stappen om de functie Round in Excel VBA te gebruiken.

Stap 1: Voeg een nieuwe module in onder Visual Basic Editor (VBE).

Stap 2: Definieer een nieuwe subprocedure om een ​​macro in VBE op te slaan.

Code:

 Sub Round_Ex1 () End Sub 

Stap 3: Gebruik de MsgBox-functie om een ​​bericht als dit te laten verschijnen: "De waarde afgerond is:"

Code:

 Sub Round_Ex1 () MsgBox "De waarde afgerond is:" End Sub 

Stap 4: Voeg nu "& Round (10.9834, 2)" toe voor de opdracht MsgBox, zodat de afgeronde waarde wordt weergegeven in het berichtvenster.

Code:

 Sub Round_Ex1 () MsgBox "De waarde afgerond is:" & Round (10.9834, 2) End Sub 

Stap 5: Druk op F5 of op de knop Uitvoeren bovenaan op het paneel om deze code uit te voeren. U zult een uitvoer zien zoals hieronder getoond.

Voorbeeld # 2 - Rond een variabele af met behulp van VBA Round

Stap 1: Definieer een nieuwe subprocedure in VBE om een ​​macro op te slaan.

Code:

 Sub Round_Ex2 () End Sub 

Stap 2: Definieer een variabele met de naam roundNumber als Double die de waarde van het af te ronden getal kan bevatten.

Code:

 Sub Round_Ex2 () Dim roundNumber As Double End Sub 

Stap 3: Wijs een getalwaarde toe die naar deze variabele moet worden afgerond met behulp van de toewijzingsoperator.

Code:

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

Stap 4: Gebruik een combinatie van MsgBox samen met de functie Round om dit getal tot op één decimaal af te ronden.

Code:

 Sub Round_Ex2 () Dim roundNumber As Double roundNumber = 23.98 MsgBox "Het afgeronde nummer is:" & Round (roundNumber, 1) End Sub 

Stap 5: Laten we op F5 of op de knop Uitvoeren drukken om deze code uit te voeren en de uitvoer te bekijken.

U kunt een uitvoer zien zoals weergegeven in de bovenstaande schermafbeelding. Merk op dat met de logica van "afronden op even", de laatste decimaal wordt afgerond op 10 en de volgende decimaal zelf 10 wordt, waardoor het getal wordt afgerond naar het dichtstbijzijnde even deel van het gehele getal (bijv. 24).

Voorbeeld # 3 - Ronde celwaarde met behulp van VBA Round

Stel dat de waarde die u wilt afronden, is opgeslagen in één cel van uw Excel-werkblad.

Het enige wat u wilt is deze waarde naar boven afronden op twee decimalen.

Stap 1: Definieer een nieuwe subprocedure in een module om de macro op te slaan.

Code:

 Sub Round_Ex3 () End Sub 

Stap 2: Schrijfopdracht als "Bereik (" A2 "). Waarde =". Deze opdracht werkt als een locatie waar de uitvoer wordt opgeslagen.

Code:

 Sub Round_Ex3 () Bereik ("A2") Waarde = Einde Sub 

Stap 3: Gebruik nu een afrondingsfunctie om de aanwezige waarde in cel A1 af te ronden en sla het resultaat op in cel A2. Schrijf het volgende stuk code: Rond (Bereik ("A1"). Waarde, 2).

Code:

 Sub Round_Ex3 () Bereik ("A2"). Waarde = Round (bereik ("A1"). Waarde, 2) Einde Sub 

Stap 4: Druk op F5 of op de knop Uitvoeren om deze code uit te voeren en de uitvoer in cel A2 van uw werkblad te bekijken.

Voorbeeld # 4 - Rond een getal af met behulp van de VBA RoundUp-functie

Stel dat u een getal naar boven wilt afronden met VBA. U kunt dat doen door de functie WorksheetFunction.RoundUp te gebruiken.

Stap 1: Definieer een nieuwe subprocedure in Visual Basic Editor die uw macro kan opslaan.

Code:

 Sub Round_Ex4 () End Sub 

Stap 2: Definieer twee variabelen, één om het getal vast te houden dat u naar boven wilt afronden. En de andere om het verzamelresultaat op te slaan.

Code:

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

Stap 3: Sla een waarde op in variabele numToRound die u naar boven wilde afronden.

Code:

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

Stap 4: Gebruik nu RoundUp om dit getal af te ronden en het resultaat op te slaan in een variabele numRoundUp.

Code:

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

Stap 5: Gebruik MsgBox om de uitvoer onder het berichtvenster weer te geven.

Code:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) MsgBox "Het afgeronde nummer is:" & numRoundUp End Sub 

Stap 6: Druk op F5 of op de knop Uitvoeren om deze code uit te voeren en de uitvoer te bekijken.

Voorbeeld 5 - Een getal naar beneden afronden met de VBA RoundDown-functie

Stap 1: Definieer in een nieuwe subprocedure twee nieuwe variabelen met de naam numToRoundDown en roundDownNum. Eén om de waarde van het af te ronden nummer vast te houden en andere om de uitvoer op te slaan nadat het nummer naar beneden is afgerond.

Code:

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

Stap 2: Wijs de waarde die u wilt afronden naar de variabele met de naam "numToRoundDown" toe.

Code:

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

Stap 3: Gebruik nu RoundDown om dit getal af te ronden en het resultaat op te slaan in een roundDownNum-variabele.

Code:

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

Stap 4: Gebruik de MsgBox-functie om de waarde van een naar beneden afgerond getal weer te geven.

Code:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) MsgBox "Het getal naar beneden afgerond is:" & roundDownNum End Sub 

Stap 5: Druk op F5 of op de knop Uitvoeren om deze code uit te voeren en de uitvoer als een berichtvenster te zien.

Dit is het in het artikel. We hebben de concepten van VBA Round, Round Up en Round Down vastgelegd met een handvol voorbeelden.

Dingen om te onthouden

  • Deze functie gebruikt een afrondingsmethode van de bank om de getallen af ​​te ronden die enigszins verschillen van de daadwerkelijke afrondingsmethode.
  • Deze functie wordt gebruikt om een ​​getal met een drijvende komma of een getal met vaste decimalen af ​​te ronden tot een bepaald aantal plaatsen.
  • Dit betekent dat de functie het getal naar boven of naar beneden afrondt, afhankelijk van het getal na de decimale punten.
  • Argument decimale_plaatsen moet groter zijn dan of gelijk zijn aan nul.
  • Als decimale_plaatsen leeg worden gelaten, wordt dit als nul beschouwd en wordt het getal afgerond naar het dichtstbijzijnde gehele getal.
  • Als decimal_places is ingesteld op minder dan nul, treedt runtime error 5 op. "Runtime-fout '5': ongeldige procedureaanroep of argument".
  • Het is niet echt voorspelbaar tot wat deze functie de waarde zal afronden wanneer het cijfer achter de komma 5 is.
  • Als een of beide argumenten van de functie Round niet-numeriek zijn, retourneert de functie run time 13 error. "Runtime-fout '13': Type komt niet overeen".

Aanbevolen artikelen

Dit is een leidraad geweest voor de VBA Round-functie. Hier hebben we besproken hoe u Excel VBA Round Function kunt gebruiken, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. Volledige gids voor VBA bij fout
  2. Hoe het VBA-nummerformaat te gebruiken?
  3. VBA VLOOKUP-functie met voorbeelden
  4. VBA-functie maken in Excel

Categorie: