Funkce VBA Round, RoundUp a RoundDown

Kolo VBA

Funkce VBA Round zaokrouhlí čísla na zadaný počet číslic.

Syntaxe kulaté funkce VBA

Syntaxe kulaté funkce VBA je:

Zaokrouhlit (výraz, [desetinná_místa]) kde:

  • Výraz - číslo, které se má zaokrouhlit.
  • Desetinná místa (Volitelný) - Celé číslo, které určuje počet desetinných míst, která se mají zaokrouhlit. Hodnota musí být větší nebo rovna 0 (> = 0). Pokud je prázdné, použije se výchozí hodnota 0, což znamená, že funkce se zaokrouhlí na nejbližší celé číslo.

Podívejme se tedy na příklad, abyste viděli, jak funguje funkce VBA Round, zaokrouhlování na 1 desetinné místo:

12345 Dílčí kolo 1 ()Msgbox Round (7,25, 1)End Sub

Výsledný MessageBox:

VBA za proměnnou

Ve výše uvedeném příkladu jsme zadali zaokrouhlené číslo přímo do funkce, obvykle byste však místo toho zaokrouhlili proměnnou. Následuje příklad použití proměnné místo:

Poznámka: K ukládání desetinných hodnot používáme typ proměnné Double.

123456789 Sub RoundUsingVariable ()Dim unitcount As Doublepočet jednotek = 7,25MsgBox "Hodnota je" & Round (unitcount, 1)End Sub

Výsledek je:

Výsledky zaokrouhlování VBA

Skutečné číslo Počet desetinných míst Výsledek
7.25 0 7
7.25 1 7.2
7.25 2 7.25
-7.25 1 -7.2
-7.25 2 -7.25

Už vás nebaví hledat příklady kódu VBA? Zkuste AutoMacro!

Hodnota kulaté buňky VBA

Hodnotu buňky můžete také zaokrouhlit přímo ve VBA:

123 Sub RoundCell ()Rozsah („A1“). Hodnota = Zaokrouhleno (Rozsah („A1“). Hodnota, 2)End Sub

Funkce VBA RoundUp

Řekněme, že chcete zaokrouhlit číslo nahoru pomocí VBA. Neexistuje žádná integrovaná ekvivalentní funkce VBA RoundUp, místo toho můžete z kódu VBA zavolat funkci Excel RoundUp Worksheet:

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

Funkce listu aplikace Excel jsou k dispozici pro použití ve VBA pomocí Pracovní list Funkce objekt. Jediné funkce listu, které nemůžete volat, jsou ty, které již mají vestavěný ekvivalent VBA.

Připomínka syntaxe funkce RoundUp pracovního listu aplikace Excel:

ROUNDUP (číslo, číslice) kde:

  • Číslo - číslo, které chcete zaokrouhlit nahoru.
  • Číslice - počet číslic, které chcete zaokrouhlit.

Podívejme se tedy na příklad, abyste viděli, jak získat přístup k funkci RoundUp Worksheet v kódu VBA:

12345678910111213 Sub RoundUp ()Dim unitcount As DoubleDim roundupUnitcount as Doubleunitcount = 7.075711roundupUnitcount = Application.WorksheetFunction.RoundUp (unitcount, 4)MsgBox "Hodnota je" & roundupUnitcountEnd Sub

Výsledek je:

Zaokrouhleno na nejbližší nejbližší číslo

Můžete zaokrouhlit nahoru na nejbližší celé číslo zadáním 0 jako počet desetinných míst:

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

Výsledek doručen:

Programování VBA | Generátor kódu pracuje pro vás!

Výsledky funkce RoundUp

Skutečné číslo Číslice Výsledek
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

Funkce VBA RoundDown

Řekněme, že chcete zaokrouhlit číslo dolů pomocí VBA. Neexistuje ani vestavěná ekvivalentní funkce VBA RoundDown, místo toho znovu, co byste udělali, je zavolat funkci Excel RoundDown Worksheet z vašeho kódu VBA.

Připomenutí syntaxe funkce RoundDown pracovního listu aplikace Excel:

ROUNDDOWN (číslo, číslice) kde:

• Číslo - Číslo, které chcete zaokrouhlit dolů.
• Číslice - počet číslic, které chcete zaokrouhlit.

Podívejme se tedy na příklad, abyste viděli, jak získat přístup k funkci RoundDown Worksheet v kódu VBA:

12345678910111213 Dílčí kolo dolů ()Dim unitcount As DoubleDim rounddownUnitcount as Doubleunitcount = 5.225193rounddownUnitcount = Application.WorksheetFunction.RoundDown (unitcount, 4)MsgBox "Hodnota je" & rounddownUnitcountEnd Sub

Výsledek je:

Zaokrouhlení dolů na nejbližší nejbližší číslo

Můžete zaokrouhlit dolů na nejbližší celé číslo zadáním 0 jako počet desetinných míst:

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

Výsledek je:

Výsledky funkce RoundDown

Skutečné číslo Číslice Výsledek
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

Programování VBA | Generátor kódu pracuje pro vás!

Další funkce zaokrouhlování VBA

Strop VBA - zaokrouhleno na stanovený význam

VBA nemá ekvivalent funkce Ceiling.Math, takže pokud chcete zaokrouhlit číslo nahoru na nejbližší celé číslo nebo na nejbližší zadaný násobek významnosti, můžete z vašeho kódu VBA zavolat funkci listu Ceiling.Math v Excelu.

Připomenutí syntaxe funkce Ceiling.Math aplikace Excel:

CEILING.MATH (číslo, [význam], [režim]) kde:

  • Číslo - Číslo, které chcete zaokrouhlit nahoru.
  • Význam (Volitelný) - Násobek, na který chcete číslo zaokrouhlit.
  • Režim (Volitelný) - Řídí, zda jsou záporná čísla zaokrouhlena směrem k nule nebo od nuly.

Podívejme se tedy na příklad, abyste viděli, jak přistupovat k funkci pracovního listu Ceiling.Math v kódu VBA:

12345678910111213 Dílčí koloUpToSignificance ()Dim unitcount As DoubleZtlumit stropní můstekPočet jako dvojnásobekunitcount = 4.1221stropmathUnitcount = Application.WorksheetFunction.Ceiling_Math (unitcount, 5)MsgBox „Hodnota je“ & stropmathUnitcountEnd Sub

Výsledek je:

VBA zaokrouhleno na zadané výsledky významnosti

Skutečné číslo Význam Režim Výsledek
4.1221 5
4.1221 3 6
4.1221 50 50
-4.1221 3 -3
-4.1221 3 -1 -6

VBA Floor - RoundDown to a Specified Significance

VBA také nemá ekvivalentní funkci Floor.Math. Pokud však chcete zaokrouhlit číslo dolů na nejbližší celé číslo nebo na nejbližší zadaný násobek významnosti, můžete znovu zavolat funkci listu aplikace Excel’s Floor.Math z VBA.

Připomenutí syntaxe funkce Excel Worksheet Floor.Math:

FLOOR.MATH (číslo, [význam], [režim]) kde:
• Číslo - Číslo, které chcete zaokrouhlit dolů.
• Význam (Volitelný) - Násobek, na který chcete číslo zaokrouhlit.
• Režim (Volitelné) - Řídí, zda jsou záporná čísla zaokrouhlena směrem k nule nebo od nuly.

Podívejme se tedy na příklad, abyste viděli, jak přistupovat k funkci Floor.Math Worksheet v kódu VBA:

1234567891011 Dílčí koloDownToSignificance ()Dim unitcount As DoubleDim floormathUnitcount As Doubleunitcount = 4,55555559floormathUnitcount = Application.WorksheetFunction.Floor_Math (unitcount, 2)MsgBox "Hodnota je" & floormathUnitcountEnd Sub

Výsledek je:

VBA RoundDown na specifikované výsledky významnosti

Skutečné číslo Význam Režim Výsledek
4.55555559 4
4.55555559 3 3
4.55555559 50 0
-4.55555559 3 -6
-4.55555559 3 -1 -3

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave