VBA funkcije Round, RoundUp in RoundDown

Krog VBA

Funkcija zaokroževanja VBA zaokroži številke na določeno število števk.

Sintaksa okrogle funkcije VBA

Sintaksa okrogle funkcije VBA je:

Okrogla (izraz, [decimalna_mesta]), kjer:

  • Izraz - število, ki ga želite zaokrožiti.
  • Decimalna mesta (Neobvezno) - Celo število, ki podaja število decimalnih mest, ki jih je treba zaokrožiti. Vrednost mora biti večja ali enaka 0 (> = 0). Če je prazno, se uporabi privzeta vrednost 0, kar pomeni, da funkcija zaokroži na najbližje celo število.

Torej, poglejmo primer, da boste lahko videli, kako deluje funkcija VBA Round, zaokroževanje na 1 decimalno mesto:

12345 Podkrog1 ()Msgbox Round (7.25, 1)End Sub

Nastali MessageBox:

VBA zaokroži spremenljivko

V zgornjem primeru smo številko, ki jo je treba zaokrožiti, vnesli neposredno v funkcijo, običajno pa zaokrožite spremenljivko. Spodaj je primer uporabe spremenljivke:

Opomba: Za shranjevanje decimalnih vrednosti uporabljamo vrsto spremenljivke Double.

123456789 Sub RoundUsingVariable ()Zatemni enoto kot dvojnoštevilo enot = 7,25MsgBox "Vrednost je" & Round (število enot, 1)End Sub

Rezultat je:

Rezultati zaokroževanja VBA

Dejanska številka Število decimalnih mest Rezultat
7.25 0 7
7.25 1 7.2
7.25 2 7.25
-7.25 1 -7.2
-7.25 2 -7.25

Utrujen od iskanja primerov kode VBA? Preizkusite AutoMacro!

VBA vrednost okroglih celic

Vrednost celice lahko zaokrožite tudi neposredno v VBA:

123 Sub RoundCell ()Razpon ("A1"). Vrednost = okroglo (razpon ("A1"). Vrednost, 2)End Sub

Funkcija VBA RoundUp

Recimo, da želite zaokrožiti številko z uporabo VBA. Vgrajene enakovredne funkcije VBA RoundUp ni, namesto tega lahko iz svoje kode VBA pokličete funkcijo delovnega lista Excel RoundUp:

1 roundupUnitcount = Application.WorksheetFunction.RoundUp (število enot, 3)

Excelove funkcije delovnega lista so na voljo za uporabo v VBA z uporabo Funkcija delovnega lista predmet. Edine funkcije delovnega lista, ki jih ne morete poklicati, so tiste, ki že imajo vgrajen ekvivalent VBA.

Opomnik o skladnji funkcije zaokroževanja delovnega lista Excel:

ROUNDUP (številka, številke), kjer:

  • Številka - Število, ki ga želite zaokrožiti.
  • Številke - število številk, ki jih želite zaokrožiti.

Torej, poglejmo primer, da boste lahko videli, kako dostopati do funkcije delovnega lista RoundUp v kodi VBA:

12345678910111213 Sub RoundUp ()Zatemni enoto kot dvojnoZaokroži zatemnitevštevilo enot = 7,075711roundupUnitcount = Application.WorksheetFunction.RoundUp (število enot, 4)MsgBox "Vrednost je" & roundupUnitcountEnd Sub

Rezultat je:

Zaokrožite na najbližje celo število

Zaokrožite na najbližje celo število tako, da kot število decimalnih mest določite 0:

12345 Sub RoundUpWhole ()Aplikacija MsgBox.WorksheetFunction.RoundUp (7.1, 0)End Sub

Dosežen rezultat:

Programiranje VBA | Generator kod deluje za vas!

Rezultati funkcije RoundUp

Dejanska številka Številke Rezultat
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

Funkcija VBA RoundDown

Recimo, da želite zaokrožiti številko navzdol z uporabo VBA. Tudi vgrajene enakovredne funkcije VBA RoundDown ni, namesto tega bi morali iz kode VBA poklicati funkcijo Excel RoundDown Worksheet.

Opomnik o skladnji funkcije Excel RoundDown na delovnem listu:

ROUNDDOWN (številka, številke), kjer:

• Številka - Številka, ki jo želite zaokrožiti navzdol.
• Številke - Število številk, ki jih želite zaokrožiti.

Torej, poglejmo primer, da boste lahko videli, kako dostopati do funkcije delovnega lista RoundDown v kodi VBA:

12345678910111213 Sub RoundDown ()Zatemni enoto kot dvojnoZatemni okroglo smerUnitcount As Doubleštevilo enot = 5,225193rounddownUnitcount = Application.WorksheetFunction.RoundDown (število enot, 4)MsgBox "Vrednost je" & rounddownUnitcountEnd Sub

Rezultat je:

RoundDown do najbližje cele številke

Zaokrožite lahko na najbližje celo število tako, da kot število decimalnih mest določite 0:

12345 Sub RoundDownWhole ()Aplikacija MsgBox.WorksheetFunction.RoundDown (7.8, 0)End Sub

Rezultat je:

Rezultati funkcije RoundDown

Dejanska številka Številke Rezultat
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

Programiranje VBA | Generator kod deluje za vas!

Druge funkcije zaokroževanja VBA

VBA zgornja meja - zaokroži na določen pomen

VBA nima enakovredne funkcije Ceiling.Math, zato, če želite zaokrožiti število na najbližje celo število ali na najbližji podani večkratnik pomena, lahko iz kode VBA pokličete Excelovo funkcijo delovnega lista Ceiling.Math.

Opomnik o skladnji stropa Excelovega delovnega lista. Matematična funkcija:

CEILING.MATH (Število, [Pomen], [Način]), kjer:

  • Številka - Število, ki ga želite zaokrožiti.
  • Pomembnost (Neobvezno) - Večkratnik, na katerega želite zaokrožiti številko.
  • Način (Neobvezno) - Nadzira, ali se negativna števila zaokrožijo proti nič ali stran od nje.

Torej, poglejmo primer, da boste lahko videli, kako dostopati do funkcije delovnega lista Ceiling.Math v kodi VBA:

12345678910111213 Sub RoundUpToSignintage ()Zatemni enoto kot dvojnoZatemni strop Unitscount As Doubleštevilo enot = 4.1221uppermathUnitcount = Application.WorksheetFunction.Ceiling_Math (število enot, 5)MsgBox "Vrednost je" & uppermathUnitcountEnd Sub

Rezultat je:

Zaokroževanje VBA do rezultatov določenega pomena

Dejanska številka Pomembnost Način Rezultat
4.1221 5
4.1221 3 6
4.1221 50 50
-4.1221 3 -3
-4.1221 3 -1 -6

VBA nadstropje - zaokroženo navzdol do določenega pomena

VBA nima enakovredne funkcije Floor.Math. Če pa želite zaokrožiti številko na najbližje celo število ali na najbližji večkratnik pomena, lahko znova pokličete Excelovo funkcijo Floor.Math delovnega lista iz VBA.

Opomnik o skladnji nadstropja delovnega lista Excel. Matematična funkcija:

FLOOR.MATH (Število, [Pomen], [Način]), kjer:
• Število - Število, ki ga želite zaokrožiti navzdol.
• Pomembnost (Neobvezno) - Večkratnik, na katerega želite zaokrožiti številko.
• Način (Neobvezno) - Nadzira, ali se negativna števila zaokrožijo proti nič ali stran od nje.

Torej, poglejmo primer, da boste lahko videli, kako dostopati do funkcije delovnega lista Floor.Math v kodi VBA:

1234567891011 Sub RoundDownToSignintage ()Zatemni enoto kot dvojnoZatemni talno površino Unnitcount As Doubleštevilo enot = 4,55555559floormathUnitcount = Application.WorksheetFunction.Floor_Math (število enot, 2)MsgBox "Vrednost je" & floormathUnitcountEnd Sub

Rezultat je:

Rezultati VBA RoundDown do določenega pomena

Dejanska številka Pomembnost Način Rezultat
4.55555559 4
4.55555559 3 3
4.55555559 50 0
-4.55555559 3 -6
-4.55555559 3 -1 -3

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave