Función VBA CDBL

Función Excel VBA CDBL

VBA CDBL es una función de conversión de tipo de datos incorporada y el uso de esta función es que convierte el tipo de datos del valor de cualquier variable dada en un tipo de datos Double, esta función solo toma un único argumento que es el valor de la propia variable.

En VBA, "CDBL" significa "Convertir a doble". Esta función convierte el número dado al tipo de datos Double. Eche un vistazo a la sintaxis de la función CDBL.

  • La expresión es el valor que estamos intentando convertir al tipo de datos Double.

Cualquier número flotante que se almacene como un tipo de datos diferente al doble se puede convertir aplicando la función CDBL.

Punto para recordar aquí: solo los valores numéricos se pueden convertir al tipo de datos Double. Cualquier cosa que no sea un valor numérico no se puede convertir a tipo doble, por lo que terminará mostrando "Error de no coincidencia de tipo en VBA" como se muestra a continuación.

¿Alguna vez ha utilizado un tipo de datos doble en la codificación VBA?

Si no, vale la pena echarle un vistazo ahora. Double es el tipo de datos que se utiliza para almacenar la posición decimal del número. Podemos tener hasta 13 números decimales flotantes.

Para ver un ejemplo, mire el siguiente código VBA.

En lo anterior, he definido el tipo de variable (k) como Integer. Dim k como entero

A continuación, he asignado el valor como k = 25,4561248694615

Cuando ejecuto el código, obtendremos el resultado de la siguiente manera.

Obtuvimos el resultado como 25. Dado que hemos definido la variable como Integer VBA, redondea al valor entero más cercano.

Para mostrar el resultado tal como está, debemos cambiar el tipo de variable de Integer a Double.

Esto debería darnos el número exacto que le asignamos a la variable.

Ok, teniendo esto en cuenta, también podemos convertir todos los números de fracción que se almacenan como un tipo de datos no doble.

Ejemplos para utilizar la función VBA CDBL

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

Ejemplo 1

Para comenzar el procedimiento, veamos el siguiente código.

Código:

 Sub Double_Example1 () Dim k As String k = 48.14869569 MsgBox k End Sub 

Ahora ejecutaré el código y veré qué sucede.

Aunque el tipo de variable VBA es "Cadena", todavía muestra los valores decimales. Esto se debe a que String puede ser de cualquier tipo de datos, por lo que los números decimales o flotantes se muestran como están.

Ahora cambiaré el tipo de datos de cadena a Integer.

Código:

 Sub Double_Example1 () Dim k As Integer k = 48.14869569 MsgBox k End Sub 

Ahora ejecutaré el código y veré qué sucede.

Aquí es donde la función CDBL juega un papel vital para convertir el tipo de datos entero a doble. Así que el siguiente código es el mismo para ti.

Código:

 Sub Double_Example1 () Dim IntegerNumber como cadena Dim DoubleNumber como doble IntegerNumber = 48.14869569 DoubleNumber = CDbl (IntegerNumber) MsgBox DoubleNumber End Sub 

Esto convertirá el valor del tipo de datos de cadena en Double.

Ejemplo # 2

Ahora convierta el número 854.6947 que se almacena como tipo de datos Variant a Double.

Código:

 Sub Double_Example2 () Dim VaraintNumber Dim DoubleNumber As Double VaraintNumber = 854.6947 DoubleNumber = CDbl (VaraintNumber) MsgBox DoubleNumber End Sub 

La primera variable que he declarado como "Variante". Dim VaraintNumber

Nota: Cuando el tipo de variable no se declara, se convierte en un tipo de datos universal Variant.

A continuación, he declarado una variable más, es decir, Dim DoubleNumber As Double

Para la primera variable VaraintNumber, hemos asignado el valor como 854,6947.

Ahora, al usar la segunda variable, hemos aplicado la función CDBL para convertir el valor Variant al tipo de datos Double.

DoubleNumber = CDbl (VaraintNumber)

La parte final es mostrar el resultado en el cuadro de mensaje. MsgBox DoubleNumber

Ahora ejecutaré el código para ver el resultado.

Cosas para recordar

  • Un tipo de datos doble solo puede aceptar números numéricos.
  • Si se proporciona un valor de texto, se producirá un error de tipo no coincidente.
  • Un tipo de datos doble puede mostrar solo 13 dígitos de números flotantes.