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 |