Okrugla funkcija Excel VBA

Sigurno ste koristili funkciju Excel Round da biste zaokružili plutajuće brojeve do određenog broja decimalnih mjesta. Funkcija VBA Round ponaša se potpuno drugačije od one koju koristite u Excelu. Funkcija VBA Round koristi logiku "zaokruživanje u jednoliko". Ako broj koji pokušavate zaokružiti ima zadnju znamenku nakon decimalnog> = 0, 6, funkcija VBA Round zaokružuje ga (zaokruži prema gore).

Ako broj koji pokušavate zaokružiti ima zadnju znamenku nakon decimalnog značaja <= 0, 4, zaokružuje ga (zaokružiti prema dolje). Pretpostavimo da je decimalni dio točno 0, 5, što onda čini? U takvim slučajevima provjerava se s cijelim dijelom broja. Ako je cijeli broj par, tada se zaokružuje na parni broj decimalnog dijela. Ako je cijeli broj neparan, tada ga zaokružuje na paran broj. Ova metoda zaokruživanja naziva se i "Zaokruživanje bankara".

Sintaksa okrugle funkcije u Excelu VBA

Funkcija VBA Round ima sljedeću sintaksu:

Gdje,

  • Izraz - plutajući broj koji ste željeli zaokružiti.
  • Decimal_places - to je neobavezni argument koji uzima cjelobrojnu vrijednost koja određuje decimalna mjesta prema kojima bi trebao biti zaokružen broj. Uvijek treba biti veća od ili jednaka nuli. Ako nije navedeno, podrazumijeva se nula. Što znači da je broj zaokružen na cijeli broj.

Kako se koristi Excel VBA okrugla funkcija?

Naučit ćemo kako koristiti VBA Round funkciju s nekoliko primjera u Excelu.

Ovaj VBA okrugli Excel predložak možete preuzeti ovdje - VBA okrugli Excel predložak

Primjer # 1 - VBA okrugla funkcija za zaokruživanje broja

Slijedite dolje navedene korake za korištenje funkcije Round u Excelu VBA.

Korak 1: Umetnite novi modul pod Visual Basic Editor (VBE).

Korak 2: Definirajte novi podpostupak za pohranu makronaredbe u VBE.

Kodirati:

 Sub Round_Ex1 () Kraj Sub 

Korak 3: Upotrijebite MsgBox funkciju da biste mogli iskočiti poruku poput ove "Zaokružena vrijednost je:"

Kodirati:

 Sub Round_Ex1 () MsgBox "Zaokružena vrijednost je:" Kraj Sub 

Korak 4: Sada dodajte "& Round (10, 9834, 2)" ispred naredbe MsgBox, tako da će zaokružena vrijednost biti prikazana u okviru poruke zajedno.

Kodirati:

 Sub Round_Ex1 () MsgBox "Zaokružena vrijednost je:" & Round (10.9834, 2) Kraj Sub 

Korak 5: Pritisnite F5 ili gumb Pokreni smješten na gornjoj ploči za pokretanje ovog koda. Vidjet ćete izlaz kao što je prikazano u nastavku.

Primjer br. 2 - Zaokružite varijablu pomoću VBA kruga

Korak 1: U VBE definirajte novi podpostupak za spremanje makronaredbe.

Kodirati:

 Sub Round_Ex2 () Kraj Sub 

Korak 2: Definirajte varijablu pod nazivom roundNumber kao Double koja može sadržavati vrijednost broja koji se zaokružuje.

Kodirati:

 Sub Round_Ex2 () Dim RoundNumber Kao dvostruki krajnji Sub 

Korak 3: Dodijelite brojčanu vrijednost koja treba zaokružiti na ovu varijablu pomoću operatora dodjele.

Kodirati:

 Sub Round_Ex2 () Dim round roundNumber As Double roundNumber = 23, 98 Kraj Sub 

Korak 4: Upotrijebite kombinaciju MsgBox zajedno s funkcijom Round da biste taj broj zaokružili na jednu decimalnu točku.

Kodirati:

 Sub Round_Ex2 () Dim roundNumber As Double roundNumber = 23, 98 MsgBox "Zaokruženi broj je:" & Round (roundNumber, 1) End Sub 

Korak 5: Pritisnite tipku F5 ili Run da biste pokrenuli ovaj kod i pogledali izlaz.

Možete vidjeti izlaz kao što je prikazano na gornjoj snimci zaslona. Imajte na umu da je, logikom „zaokruživanje u parno“, posljednji decimalni broj zaokružen na 10, a sljedeći decimalni broj postaje 10 sam, zbog čega se broj zaokružuje na najbliži parni dio cijelog broja (tj. 24).

Primjer # 3 - Zaokruživanje vrijednosti ćelije pomoću VBA runde

Pretpostavimo da je vrijednost koju ste željeli zaokružiti pohranjena u jednoj ćeliji vašeg excel radnog lista.

Sve što želite je zaokružiti ovu vrijednost do dva decimalna mjesta.

Korak 1: U modulu definirajte novi podprocedu za pohranu makronaredbe.

Kodirati:

 Sub Round_Ex3 () Kraj Sub 

Korak 2: Napisati naredbu kao "raspon (" A2 "). Vrijednost =". Ova naredba djeluje kao mjesto na kojem će se pohraniti izlaz.

Kodirati:

 Pod krug_Ex3 () raspon ("A2") Vrijednost = Kraj sub 

Korak 3: Sada koristite okruglu funkciju za zaokruživanje vrijednosti prisutne u ćeliji A1 i spremite rezultat u ćeliju A2. Unesite sljedeće kodove: Okrugli (domet ("A1"). Vrijednost, 2).

Kodirati:

 Pod krug_Ex3 () Raspon ("A2"). Vrijednost = Krug (raspon ("A1"). Vrijednost, 2) Kraj Pod 

Korak 4: Pritisnite tipku F5 ili Run da biste pokrenuli ovaj kôd i pogledali izlaz u ćeliji A2 na vašem radnom listu.

Primjer br. 4 - Zaokružite broj pomoću funkcije VBA RoundUp

Pretpostavimo da broj želite zaokružiti pomoću VBA. To možete učiniti pomoću WorksheetFunction.RoundUp funkcije.

Korak 1: Definirajte novi podprocedu u Visual Basic Editoru koji može pohraniti vaš makronaredbu.

Kodirati:

 Sub Round_Ex4 () Kraj Sub 

Korak 2: Definirajte dvije varijable, jednu za držanje broja koji ste željeli zaokružiti. A drugi za pohranu rezultata zaokruživanja.

Kodirati:

 Sub Round_Ex4 () Dim numToRound kao Double Dim numRoundUp Kao Double End Sub 

Korak 3: Spremite vrijednost u varijablu numToRound koju ste željeli zaokružiti.

Kodirati:

 Sub Round_Ex4 () Dim numToRound kao Double Dim numRoundUp As Double numToRound = 12.7543712 Kraj Sub 

Korak 4: Sad upotrijebite RoundUp da biste zaokružili ovaj broj i spremili rezultat u numRoundUp varijablu.

Kodirati:

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

Korak 5: Upotrijebite MsgBox za prikaz rezultata ispod okvira s porukama.

Kodirati:

 Sub Round_Ex4 () Dim numToRound kao dvostruki dim numRoundUp kao dvostruki numToRound = 12, 7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) MsgBox "Broj zaokružen je:" & numRoundUp Kraj Sub 

Korak 6: Pritisnite tipku F5 ili Run da biste pokrenuli ovaj kod i pogledali izlaz.

Primjer br. 5 - Zaokruživanje broja pomoću funkcije VBA RoundDown

Korak 1: U novom potpostupu definirajte dvije nove varijable s imenom numToRoundDown i roundDownNum. Jedni drže vrijednost broja koji se zaokružuje prema dolje, a drugi za pohranjivanje izlaza nakon zaokruživanja broja prema dolje.

Kodirati:

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

Korak 2: Dodijelite vrijednost koju želite zaokružiti na varijablu pod nazivom "numToRoundDown".

Kodirati:

 Sub Round_Ex5 () Dim numToRoundDown Kao dvostruki dim roundDownNum Kao Double numToRoundDown = 7.075711 Kraj Sub 

Korak 3: Koristite RoundDown za zaokruživanje ovog broja i spremite rezultat u roundDownNum varijablu.

Kodirati:

 Sub Round_Ex5 () Dim numToRoundDown kao dvostruki dim RoundDownNum kao dvostruki numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) End Sub 

Korak 4: Upotrijebite MsgBox funkciju za prikaz vrijednosti zaokruženog broja.

Kodirati:

 Sub Round_Ex5 () Dim numToRoundDown kao dvostruki dim RoundDownNum as Double numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) MsgBox "Broj zaokružen dolje je:" & roundDownN 

Korak 5: Pritisnite tipku F5 ili Run da biste pokrenuli ovaj kôd i vidi izlaz kao okvir za poruke.

To je to u članku. Koncepti VBA Round, Round Up i Round Down uhvatili smo s nekoliko primjera.

Stvari koje treba zapamtiti

  • Ova funkcija koristi način zaokruživanja Banker-a za zaokruživanje brojeva koji su donekle različiti od stvarnih metoda zaokruživanja.
  • Ova se funkcija koristi za zaokruživanje broja s plutajućom točkom ili broja s fiksnim decimalama do određenog broja mjesta.
  • To znači da će funkcija zaokružiti ili povećati broj ovisno o broju nakon decimalnih točaka.
  • Argument decimalna mjesta mora biti veća od ili jednaka nuli.
  • Ako decimalna mjesta ostanu prazna, smatrat će se da je nula i broj će se tada zaokružiti na najbliži cijeli broj.
  • Ako je decimalna_mjesta postavljena manje od nule, tada dolazi do pogreške 5 pokretanja. "Pogreška u vremenu rada" 5 ": nevažeći poziv ili argument postupka".
  • Zaista nije predvidljivo što će ova funkcija zaokružiti vrijednost kada je brojka nakon decimalne točke 5.
  • Ako je jedan ili oba argumenta funkcije Round ne-numerički, funkcija će vratiti pogrešku vremena izvođenja 13. "Pogreška u vremenu izvođenja" 13 ": Upišite neusklađenost".

Preporučeni članci

Ovo je vodič za okrugli rad VBA. Ovdje smo raspravljali o tome kako koristiti Excel VBA Round Function, zajedno s praktičnim primjerima i preuzeti Excel predložak. Možete i pregledati naše druge predložene članke -

  1. Kompletan vodič za VBA o pogrešci
  2. Kako se koristi VBA format broja?
  3. VBA VLOOKUP funkcija s primjerima
  4. Stvaranje VBA funkcije u Excelu

Kategorija: