Redondear en VBA
Usaremos ejemplos para presentar las funciones Round()
y RoundUp()
en VBA.
Utilice las funciones Round()
o RoundUp()
en VBA
Al trabajar con hojas de Excel que contienen números y cálculos, obtenemos resultados en fracciones. A veces tenemos que convertir estos números decimales en números enteros.
VBA proporciona tres funciones diferentes que se pueden usar para convertir números decimales en números enteros. Discutiremos dos funciones en este artículo.
El Round()
redondea el número decimal al número entero más próximo. Por ejemplo, almacenaremos un número decimal y luego usaremos la función Round()
.
Código de ejemplo:
# VBA
Sub roundFunc()
Dim num As Double
num = 5.79
MsgBox Round(num)
End Sub
Producción:
Incluso podemos mencionar el número de lugares decimales hasta que queramos redondear el número decimal. Intentemos redondear el mismo número hasta un decimal.
Código de ejemplo:
# VBA
Sub roundFunc()
Dim num As Double
num = 5.79
MsgBox Round(num, 1)
End Sub
Producción:
Del resultado anterior, podemos redondear fácilmente el número decimal hasta 1 decimal. También podemos usar esta función para redondear el valor de la celda en la hoja de Excel.
Intentemos redondear el número en la hoja de Excel usando el método de rango.
Código de ejemplo:
# VBA
Sub roundFunc()
Range("A1").Value = Round(Range("A1").Value, 1)
End Sub
Producción:
Analicemos otra función que puede redondear el número decimal incluso si el número está cerca del número entero más pequeño. Puede haber muchas situaciones en las que siempre debamos redondear el número decimal al número entero mayor que el número decimal.
Sintaxis:
# VBA
Application.WorksheetFunction.RoundUp(num, 1)
Pongamos un ejemplo e intentemos usar la función RoundUp()
.
Código de ejemplo:
# VBA
Sub roundFunc()
Dim num As Double
num = 5.468
MsgBox Application.WorksheetFunction.RoundUp(num, 1)
End Sub
Producción:
De esta forma, podemos redondear los números al mayor número entero posible utilizando la función RoundUp()
.