Funciones VBA Round, RoundUp y RoundDown

Ronda de VBA

La función de redondeo de VBA redondea los números a un número específico de dígitos.

Sintaxis de la función redonda de VBA

La sintaxis de la función redonda de VBA es:

Round (Expression, [Decimal_places]) donde:

  • Expresión: el número que se va a redondear.
  • Lugares decimales (Opcional): Un número entero que especifica el número de posiciones decimales a redondear. El valor debe ser mayor o igual a 0 (> = 0). Si está en blanco, se usa el valor predeterminado de 0, lo que significa que la función se redondea al número entero más cercano.

Entonces, veamos un ejemplo para que pueda ver cómo funciona la función VBA Round, redondeando a 1 lugar decimal:

12345 Sub Ronda1 ()Ronda de Msgbox (7.25, 1)End Sub

El MessageBox resultante:

VBA Redondea una Variable

En el ejemplo anterior, ingresamos el número a redondear directamente en la función, sin embargo, normalmente, redondearías una variable. El siguiente es un ejemplo que usa una variable en su lugar:

Nota: Usamos el tipo de variable Doble para almacenar valores decimales.

123456789 Sub RoundUsingVariable ()Atenuar el recuento de unidades como dobleunitcount = 7.25MsgBox "El valor es" & Round (unitcount, 1)End Sub

El resultado es:

Resultados de redondeo de VBA

Numero actual Número de decimales Resultado
7.25 0 7
7.25 1 7.2
7.25 2 7.25
-7.25 1 -7.2
-7.25 2 -7.25

¿Cansado de buscar ejemplos de código VBA? ¡Prueba AutoMacro!

Valor de celda redonda de VBA

También puede redondear un valor de celda directamente en VBA:

123 Sub RoundCell ()Rango ("A1"). Valor = Redondo (Rango ("A1"). Valor, 2)End Sub

Función de redondeo de VBA

Supongamos que desea redondear un número mediante VBA. No hay una función equivalente de VBA RoundUp incorporada, en su lugar, lo que puede hacer es llamar a la función Excel RoundUp Worksheet desde su código VBA:

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

Las funciones de la hoja de cálculo de Excel están disponibles para su uso en VBA, mediante el uso de la Hoja de trabajo Función objeto. Las únicas funciones de la hoja de trabajo que no puede llamar son aquellas que ya tienen un equivalente de VBA incorporado.

Un recordatorio de la sintaxis de la función de resumen de la hoja de cálculo de Excel:

ROUNDUP (número, dígitos) donde:

  • Número: el número que le gustaría redondear.
  • Dígitos: la cantidad de dígitos que le gustaría redondear.

Entonces, veamos un ejemplo, para que pueda ver cómo acceder a la función RoundUp Worksheet en su código VBA:

12345678910111213 Sub redondeo ()Atenuar el recuento de unidades como dobleDim roundupUnitcount como dobleunitcount = 7.075711roundupUnitcount = Application.WorksheetFunction.RoundUp (unitcount, 4)MsgBox "El valor es" & roundupUnitcountEnd Sub

El resultado es:

Redondear al número entero más cercano

Puede redondear al número entero más cercano especificando 0 como el número de posiciones decimales:

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

El resultado entregó:

Programación VBA | ¡Code Generator funciona para usted!

Resultados de la función de redondeo

Numero actual Dígitos Resultado
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

Función de redondeo de VBA

Supongamos que desea redondear un número hacia abajo mediante VBA. Tampoco hay una función equivalente de VBA RoundDown incorporada, en su lugar, nuevamente, lo que haría es llamar a la función Excel RoundDown Worksheet desde su código VBA.

Un recordatorio de la sintaxis de la función de redondeo de la hoja de cálculo de Excel:

REDONDEO (Número, Dígitos) donde:

• Número: el número que le gustaría redondear hacia abajo.
• Dígitos: la cantidad de dígitos que le gustaría redondear.

Entonces, veamos un ejemplo, para que pueda ver cómo acceder a la función RoundDown Worksheet en su código VBA:

12345678910111213 Sub RoundDown ()Atenuar el recuento de unidades como dobleAtenuar redondeoUnitcount como dobleunitcount = 5.225193rounddownUnitcount = Application.WorksheetFunction.RoundDown (unitcount, 4)MsgBox "El valor es" & rounddownUnitcountEnd Sub

El resultado es:

Redondear hacia abajo al número entero más cercano

Puede redondear hacia abajo al número entero más cercano especificando 0 como el número de posiciones decimales:

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

El resultado es:

Resultados de la función de redondeo hacia abajo

Numero actual Dígitos Resultado
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

Programación VBA | ¡Code Generator funciona para usted!

Otras funciones de redondeo de VBA

Techo de VBA: redondeo hasta un significado específico

VBA no tiene una función Ceiling.Math equivalente, por lo que si desea redondear un número al entero más cercano o al múltiplo significativo especificado más cercano, puede llamar a la función de la hoja de cálculo Ceiling.Math de Excel desde su código VBA.

Un recordatorio de la sintaxis de la función Ceiling.Math de la hoja de cálculo de Excel:

CEILING.MATH (Número, [Significación], [Modo]) donde:

  • Número: el número que le gustaría redondear.
  • Significado (Opcional) - El múltiplo al que desea redondear su número.
  • Modo (Opcional) - Controla si los números negativos se redondean hacia o desde cero.

Entonces, veamos un ejemplo, para que pueda ver cómo acceder a la función Ceiling.Math Worksheet en su código VBA:

12345678910111213 Sub RoundUpToSignificance ()Atenuar el recuento de unidades como dobleTecho tenueunitcount = 4.1221roofmathUnitcount = Application.WorksheetFunction.Ceiling_Math (recuento de unidades, 5)MsgBox "El valor es" & techomathUnitcountEnd Sub

El resultado es:

Redondeo de VBA a resultados de significancia especificados

Numero actual Significado Modo Resultado
4.1221 5
4.1221 3 6
4.1221 50 50
-4.1221 3 -3
-4.1221 3 -1 -6

Piso de VBA: redondeo hacia abajo a un significado específico

VBA tampoco tiene una función Floor.Math equivalente. Sin embargo, una vez más, si desea redondear un número al número entero más cercano o al múltiplo significativo especificado más cercano, puede llamar a la función de hoja de cálculo Floor.Math de Excel desde VBA.

Un recordatorio de la sintaxis de la función Floor.Math de la hoja de cálculo de Excel:

FLOOR.MATH (Número, [Significado], [Modo]) donde:
• Número: el número que le gustaría redondear hacia abajo.
• Significado (Opcional) - El múltiplo al que desea redondear su número.
• Modo (Opcional) - Controla si los números negativos se redondean hacia o desde cero.

Entonces, veamos un ejemplo, para que pueda ver cómo acceder a la función Floor.Math Worksheet en su código VBA:

1234567891011 Sub RoundDownToSignificance ()Atenuar el recuento de unidades como dobleDim floormathUnitcount As Doubleunitcount = 4.55555559floormathUnitcount = Application.WorksheetFunction.Floor_Math (unitcount, 2)MsgBox "El valor es" & floormathUnitcountEnd Sub

El resultado es:

Redondeo de VBA a resultados de significancia especificados

Numero actual Significado Modo Resultado
4.55555559 4
4.55555559 3 3
4.55555559 50 0
-4.55555559 3 -6
-4.55555559 3 -1 -3

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave