Kolo VBA | Ako používať okrúhlu funkciu Excel VBA?

Zaoblená funkcia programu Excel VBA

Zaokrúhlená funkcia vo VBA je matematická funkcia, ktorá, ako už sám názov napovedá, zaokrúhľuje dané číslo na konkrétne alebo na desatinné miesta zadané používateľom nahor alebo nadol, táto funkcia využíva logiku zaokrúhlenia, čo znamená, že ako referencia a akékoľvek číslo s poslednou číslicou za desatinnou čiarkou je pod 5, potom je zaokrúhlené nadol a naopak.

Číslo môžete zaokrúhliť na dvojciferné desatinné miesto, trojciferné desatinné číslo alebo vôbec žiadne desatinné miesto. Napríklad, ak máte číslo 5.8697. Ak zaokrúhlite číslo na dvojciferné desatinné číslo, bude to 5,87, ak zaokrúhlite na tri číslice, potom sa zaokrúhli na 5 870, ak chcete zaokrúhliť na nulu, bude to 6.-

V číslach bankovníctva sa všetky desatinné miesta, ktoré sú menšie ako 0,5, zaokrúhlia nadol na predchádzajúcu celočíselnú hodnotu a všetky desatinné miesta, ktoré sú väčšie alebo rovné 0,5, sa zaokrúhlia nahor na ďalšiu celočíselnú hodnotu.

Dúfam, že ste v pracovnom liste použili funkciu ROUND. Aj vo VBA môžeme túto funkciu použiť, ale s týmito funkciami máme rozdiel. Rozdiel medzi týmito dvoma funkciami uvidíme ďalej v tomto článku.

Syntax

Zoznámte sa so syntaxou funkcie Round.

Číslo: Toto je číslo, ktoré sa snažíme zaokrúhliť.

[Počet číslic za desatinnou časťou]: Koľko číslic potrebujete po desatinnej hodnote.

Príklady

Túto šablónu Excel s okrúhlymi funkciami VBA si môžete stiahnuť tu - Šablónu Excel s okrúhlymi funkciami VBA

Predpokladajme, že máte číslo 4.534 a chcete zaokrúhliť na dve číslice.

Postupujte podľa nasledujúcich krokov.

Krok 1: Deklarujte premennú ako Variant.

Kód:

 Sub Round_Example1 () Dim K ako variant End Sub 

Krok 2: Pre túto premennú „ k “ priraďte hodnotu pomocou funkcie ROUND.

Kód:

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

Krok 3: Číslo nie je nič iné, len to, čo je číslo, ktoré sa snažíme zaokrúhliť, v tomto prípade je to číslo 4,534

Kód:

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

Krok 4: Koľko číslic potrebujeme zaokrúhliť, v tomto prípade musíme zaokrúhliť na 2 číslice .

Kód:

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

Krok 5: Teraz ukážte hodnotu premennej „k“ v okne správy VBA.

Kód:

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

Spustite tento kód a uvidíte, čo dostaneme.

Výsledok sme dostali ako 4,53, keď sme zaokrúhlili na 2 číslice.

Teraz zmením číslo z 4,534 na 4,535 . Pozri, čo sa stane teraz.

Kód:

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

Teraz spustite kód a uvidíte, aký je výsledok.

Získali sme výsledok ako 4,54 o jedno desatinné miesto vyšší ako predchádzajúca hodnota 4,53. Je to preto, že v tomto príklade sme zadali číslo ako 4,535, takže po čísle 3 je ďalšie číslo 5, takže sa zaokrúhli na ďalšie číslo, takže z 3 sa stane 4.

Teraz zadám číslo ako 2.452678 a pokúsim sa zaokrúhliť na 3 číslice.

Kód:

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

Spustením tohto kódu zobrazíte výsledok.

Výsledok je 2,453 .

2,45 2678 Tu čísla za 2. desatinným miestom sú 2678. Po čísle 2 je ďalšie číslo 6, ktoré je väčšie alebo rovné 5, takže sa zaokrúhli na ďalšie desatinné číslo nahor.

Teraz použijem to isté číslo na zaokrúhlenie na nulu a uvidím, čo sa stane.

Kód:

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

Spustite kód a uvidíte, čo dostaneme.

Pretože som použil kolo na nulu, dostali sme výsledok ako 2.

Dôvod, prečo sme dostali výsledok ako 2, pretože tu je desatinné prvé číslo 4, ktoré je menšie ako 0,5, takže je zaokrúhlené nadol.

Rozdiel medzi funkciami Excel a VBA ROUND

Existujú hlavne 2 rozdiely.

# 1 - Syntax obidvoch funkcií:

Ak sa pozriete na syntax obidvoch funkcií, máme tu rozdiel.

Syntax zaokrúhlenia programu Excel: Zaokrúhlenie (počet, počet číslic po desatinnej čiarke)
Syntax zaokrúhľovania VBA: zaokrúhlenie (počet, [počet číslic po desatinnej čiarke])

V programe Excel sú oba argumenty povinné, ale vo VBA je druhý argument voliteľný.

Ak vo VBA ignorujete druhý argument, predvolený argument bude nula, takže dostaneme celé číslo.

# 2 - Výsledky:

Výsledok týchto dvoch funkcií je odlišný. Ďalej uvádzam niekoľko príkladov