„VBA Round“, „RoundUp“ ir „RoundDown“ funkcijos

VBA turas

VBA apvaliosios funkcijos apvalina skaičius iki nurodyto skaitmenų skaičiaus.

VBA apvaliosios funkcijos sintaksė

VBA apvaliosios funkcijos sintaksė yra tokia:

Apvalus (išraiška, [dešimtainės vietos]), kur:

  • Išraiška - skaičius suapvalinti.
  • Dešimtainės_vietos (Neprivaloma) - sveikasis skaičius, nurodantis dešimtųjų skaičių apvalinti skaičių. Vertė turi būti didesnė arba lygi 0 (> = 0). Jei tuščia, naudojama numatytoji reikšmė 0, o tai reiškia, kad funkcija apvalinama iki artimiausio sveikojo skaičiaus.

Taigi, pažvelkime į pavyzdį, kad pamatytumėte, kaip veikia „VBA Round“ funkcija, suapvalinant iki vieno skaičiaus po kablelio:

12345 1 papildomas turas ()„Msgbox Round“ (7.25, 1)Pabaiga Sub

Gautas „MessageBox“:

VBA - apvalus kintamasis

Pirmiau pateiktame pavyzdyje įvedėme skaičių, kuris turi būti suapvalintas, tiesiai į funkciją, tačiau paprastai vietoj to apvalinate kintamąjį. Toliau pateikiamas kintamojo pavyzdys:

Pastaba: mes naudojame dvigubo kintamojo tipą, kad išsaugotume dešimtaines vertes.

123456789 Sub RoundUsingVariable ()Sumažinti vienetų skaičių kaip dvigubąvienetų skaičius = 7,25„MsgBox“ Vertė yra „& Round“ (vienetų skaičius, 1)Pabaiga Sub

Rezultatas yra toks:

VBA apvalinimo rezultatai

Tikrasis skaičius Dešimtainių vietų skaičius Rezultatas
7.25 0 7
7.25 1 7.2
7.25 2 7.25
-7.25 1 -7.2
-7.25 2 -7.25

Pavargote ieškoti VBA kodo pavyzdžių? Išbandykite „AutoMacro“!

VBA apvalios ląstelės vertė

Taip pat galite apvalinti langelio vertę tiesiogiai VBA:

123 Sub RoundCell ()Diapazonas („A1“). Vertė = apvalus (diapazonas („A1“). Reikšmė, 2)Pabaiga Sub

„VBA RoundUp“ funkcija

Tarkime, kad norite apvalinti skaičių aukštyn, naudodami VBA. Nėra įmontuotos „VBA RoundUp“ ekvivalentinės funkcijos, o tai, ką galite padaryti, yra paskambinti „Excel RoundUp“ darbalapio funkcijai iš savo VBA kodo:

1 roundupUnitcount = Application.WorksheetFunction.RoundUp (unitcount, 3)

„Excel“ darbalapio funkcijas galima naudoti VBA, naudojant Darbo lapas Funkcija objektas. Vienintelės darbalapio funkcijos, kurių negalite iškviesti, yra tos, kuriose jau yra įmontuotas VBA atitikmuo.

Priminimas apie „Excel“ darbalapio „RoundUp“ funkcijos sintaksę:

ROUNDUP (skaičius, skaitmenys), kur:

  • Skaičius - skaičius, kurį norite suapvalinti.
  • Skaitmenys - skaičių skaičius, kurį norite suapvalinti.

Taigi, pažvelkime į pavyzdį, kad galėtumėte pamatyti, kaip pasiekti „RoundUp“ darbalapio funkciją savo VBA kode:

12345678910111213 „Sub RoundUp“ ()Sumažinti vienetų skaičių kaip dvigubą„Dim roundupUnitcount As Double“vienetų skaičius = 7,075711roundupUnitcount = Application.WorksheetFunction.RoundUp (unitcount, 4)„MsgBox“ Vertė yra „& roundupUnitcount“Pabaiga Sub

Rezultatas yra toks:

„RoundUp“ iki artimiausio viso numerio

Galite suapvalinti iki artimiausio sveiko skaičiaus, nurodydami 0 kaip skaičių po kablelio:

12345 „Sub RoundUpWhole“ ()„MsgBox Application.WorksheetFunction.RoundUp“ (7.1, 0)Pabaiga Sub

Pateiktas rezultatas:

VBA programavimas | Kodo generatorius jums tinka!

„RoundUp“ funkcijų rezultatai

Tikrasis skaičius Skaitmenys Rezultatas
7.075711 0 8
7.075711 1 7.1
7.075711 2 7.08
7.075711 3 7.076
7.075711 -1 10
7.075711 -2 100
7.075711 -3 1000

„VBA RoundDown“ funkcija

Tarkime, kad norite apvalinti skaičių žemyn, naudodami VBA. Taip pat nėra įmontuotos „VBA RoundDown“ ekvivalentinės funkcijos, vietoj to, ką darytumėte, vadindami „Excel RoundDown“ darbalapio funkciją iš savo VBA kodo.

Priminimas apie „Excel“ darbalapio apvalinimo funkcijos sintaksę:

RUNDDOWN (skaičius, skaitmenys), kur:

• Skaičius - skaičius, kurį norite suapvalinti žemyn.
• Skaitmenys - skaičių skaičius, kurį norite suapvalinti.

Taigi, pažvelkime į pavyzdį, kad galėtumėte pamatyti, kaip pasiekti „RoundDown“ darbalapio funkciją savo VBA kode:

12345678910111213 „Sub RoundDown“ ()Sumažinti vienetų skaičių kaip dvigubą„Dim round roundUnitcount As Double“vienetų skaičius = 5,225193rounddownUnitcount = Application.WorksheetFunction.RoundDown (unitcount, 4)„MsgBox“ Vertė yra „& rounddownUnitcount“Pabaiga Sub

Rezultatas yra toks:

Žemyn iki artimiausio viso skaičiaus

Galite suapvalinti iki artimiausio sveiko skaičiaus, nurodydami 0 kaip skaičių po kablelio:

12345 Sub RoundDownWhole ()„MsgBox Application.WorksheetFunction.RoundDown“ (7.8, 0)Pabaiga Sub

Rezultatas yra toks:

„RoundDown“ funkcijų rezultatai

Tikrasis skaičius Skaitmenys Rezultatas
5.225193 0 5
5.225193 1 5.2
5.225193 2 5.22
5.225193 3 5.225
5.225193 -1 0
5.225193 -2 0
5.225193 -3 0

VBA programavimas | Kodo generatorius jums tinka!

Kitos VBA apvalinimo funkcijos

VBA lubos - „RoundUp“ iki nurodytos reikšmės

VBA neturi lubų. Matematikos funkcijos ekvivalento, taigi, jei norite apvalinti skaičių iki artimiausio sveikojo skaičiaus arba iki artimiausio nurodyto reikšmingumo kartotinio, galite paskambinti „Excel“ lubų. Matematikos darbalapio funkcija iš savo VBA kodo.

Priminimas apie „Excel“ darbalapio viršutinės ribos sintaksę. Matematinė funkcija:

CEILING.MATH (skaičius, [reikšmė], [režimas]), kur:

  • Skaičius - skaičius, kurį norite suapvalinti.
  • Reikšmingumas (Neprivaloma) - kartotinis, į kurį norite suapvalinti savo numerį.
  • Režimas (Neprivaloma) - kontroliuoja, ar neigiami skaičiai yra suapvalinti link nulio arba nuo jo.

Taigi, pažvelkime į pavyzdį, kad pamatytumėte, kaip pasiekti lubas. Matematikos darbalapio funkcija jūsų VBA kode:

12345678910111213 Sub RoundUpToSignificance ()Sumažinti vienetų skaičių kaip dvigubą„Dim“ lubų matmenys „Unitcount As Double“vienetų skaičius = 4.1221maximmathUnitcount = Application.WorksheetFunction.Celiling_Math (vienetų skaičius, 5)„MsgBox“ Vertė yra „& lubosmathUnitcount“Pabaiga Sub

Rezultatas yra toks:

VBA „RoundUp“ iki nurodytų reikšmingumo rezultatų

Tikrasis skaičius Reikšmingumas Režimas Rezultatas
4.1221 5
4.1221 3 6
4.1221 50 50
-4.1221 3 -3
-4.1221 3 -1 -6

„VBA Floor“ - „RoundDown“ iki nustatytos reikšmės

VBA taip pat neturi „Floor.Math“ funkcijos atitikmens. Tačiau dar kartą, jei norite suapvalinti skaičių žemyn iki artimiausio sveikojo skaičiaus arba iki artimiausio nurodyto reikšmingumo kartotinio, galite paskambinti „Excel“ „Floor.Math“ darbalapio funkcijai iš VBA.

Priminimas apie „Excel“ darbalapio aukšto sintaksę. Matematinė funkcija:

FLOOR.MATH (skaičius, [reikšmė], [režimas]), kur:
• Skaičius - skaičius, kurį norite suapvalinti žemyn.
• Reikšmingumas (Neprivaloma) - kartotinis, į kurį norite suapvalinti savo numerį.
• Režimas (Neprivaloma) - Kontroliuoja, ar neigiami skaičiai yra suapvalinti link nulio arba nuo jo.

Taigi, pažvelkime į pavyzdį, kad pamatytumėte, kaip pasiekti „Floor.Math“ darbalapio funkciją savo VBA kode:

1234567891011 Sub RoundDownToSignificance ()Sumažinti vienetų skaičių kaip dvigubą„Dim floormathUnitcount As Double“vienetų skaičius = 4.55555559floormathUnitcount = Application.WorksheetFunction.Floor_Math (vienetų skaičius, 2)„MsgBox“ Vertė yra „& floormathUnitcount“Pabaiga Sub

Rezultatas yra toks:

VBA RoundDown iki nurodytų reikšmingumo rezultatų

Tikrasis skaičius Reikšmingumas Režimas Rezultatas
4.55555559 4
4.55555559 3 3
4.55555559 50 0
-4.55555559 3 -6
-4.55555559 3 -1 -3

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave