Función VBA ROUND

Función redonda de Excel VBA

La función de redondeo en VBA es una función matemática que, como el propio nombre sugiere, redondea hacia arriba o hacia abajo el número dado al conjunto específico de lugares decimales especificado por el usuario, esta función utiliza la lógica de redondear incluso, lo que significa que toma 5 como el referencia y cualquier número con el último dígito después del decimal esté por debajo de 5, entonces se redondea hacia abajo y viceversa.

Puede redondear un número a decimal de dos dígitos, decimal de tres dígitos o ningún decimal. Por ejemplo, si tiene el número 5.8697. Si redondea el número a un decimal de dos dígitos, será 5,87; si lo redondea a tres dígitos, se redondeará a 5,870; si desea redondear a cero, será 6.-

En los números bancarios, todos los lugares decimales que sean inferiores a 0,5 se redondearán hacia abajo al valor entero anterior y todos los lugares decimales que sean mayores o iguales a 0,5 se redondearán al alza al siguiente valor entero.

Espero que haya utilizado la función REDONDEAR en la hoja de trabajo. En VBA también podemos usar esta función, pero tenemos una diferencia con estas funciones. Veremos la diferencia entre estas dos funciones más adelante en este artículo.

Sintaxis

Eche un vistazo a la sintaxis de la función Round.

Número: este es el número que estamos intentando redondear.

[Número de dígitos después del decimal]: cuántos dígitos necesita después del valor decimal.

Ejemplos

Puede descargar esta plantilla de Excel de función redonda de VBA aquí - Plantilla de Excel de función redonda de VBA

Suponga que tiene el número 4.534 y desea redondear a dos dígitos.

Siga los pasos siguientes.

Paso 1: Declare la variable como Variante.

Código:

 Sub Round_Example1 () Dim K como variante End Sub 

Paso 2: Para esta variable “ k ” asigne el valor mediante la función REDONDEAR.

Código:

 Sub Round_Example1 () Dim K As Variant K = Round (End Sub 

Paso 3: El número no es más que cuál es el número que estamos tratando de redondear, en este caso, el número es 4.534

Código:

 Sub Round_Example1 () Dim K As Variant K = Round (4.534, End Sub 

Paso 4: Cuántos dígitos necesitamos redondear, en este caso, necesitamos redondear a 2 dígitos .

Código:

 Sub Round_Example1 () Dim K como variante K = Round (4.534, 2) End Sub 

Paso 5: Ahora muestre el valor de la variable "k" en el cuadro de mensaje VBA.

Código:

 Sub Round_Example1 () Dim K como variante K = Round (4.534, 2) MsgBox K End Sub 

Ejecute este código y vea lo que obtenemos.

Obtuvimos el resultado como 4.53 cuando redondeamos a 2 dígitos.

Ahora cambiaré el número de 4.534 a 4.535 . Mira lo que pasa ahora.

Código:

 Sub Round_Example1 () Dim K As Variant K = Round (4.535, 2) MsgBox K End Sub 

Ahora ejecute el código y vea cuál es el resultado.

Obtuvimos el resultado 4.54 un decimal más alto que el valor anterior de 4.53. Esto se debe a que en este ejemplo hemos proporcionado el número como 4.535, por lo que después del número 3 el siguiente número es 5, por lo que se redondea al siguiente número para que 3 se convierta en 4.

Ahora proporcionaré el número como 2.452678 e intentaré redondearlo a 3 dígitos.

Código:

 Sub Round_Example2 () Dim K como variante K = Round (2.452678, 3) MsgBox K End Sub 

Ejecute este código para ver el resultado.

El resultado es 2,453 .

2.45 2678 Aquí los números después del segundo lugar decimal son 2678. Después del número 2, el siguiente número es 6, que es mayor o igual que 5, por lo que se redondea hacia arriba el siguiente número decimal.

Ahora usaré el mismo número para redondear a cero y ver qué pasa.

Código:

 Sub Round_Example3 () Dim K como variante K = Round (2.452678, 0) MsgBox K End Sub 

Ejecute el código y vea lo que obtenemos.

Como utilicé la ronda a cero, obtuvimos el resultado como 2.

La razón por la que obtuvimos el resultado como 2 porque aquí el primer número decimal es 4, que es menor que 0.5, por lo que se redondea hacia abajo.

Diferencia entre la función ROUND de Excel y VBA

Hay principalmente 2 diferencias.

# 1 - Sintaxis de ambas funciones:

Si observa la sintaxis de ambas funciones, tenemos una diferencia aquí.

Sintaxis de redondeo de Excel: Redondo (número, número de dígitos después del decimal)
Sintaxis de VBA Round: Round (Number, [Number of Digits After Decimal])

En Excel, ambos argumentos son obligatorios, pero en VBA el segundo argumento es opcional.

En VBA, si ignora el segundo argumento, toma el argumento predeterminado como cero, por lo que obtendremos el número entero.

# 2 - Resultados:

El resultado que dan estas dos funciones es diferente. Abajo hay algunos ejemplos