¿Qué es Excel VBA CDBL?

CDBL es una función de VBA que se utiliza para convertir las expresiones en un tipo de datos doble. VBA consta de una serie de funciones de conversión de datos. Esto ayuda a cambiar el tipo de datos de una variable o valor de uno a otro. En diferentes cálculos, la conversión es un proceso necesario para obtener el resultado adecuado. CDBL es una de las funciones de conversión de datos incluidas en las funciones de conversión de tipo en VBA. CDBL significa 'Convertir a doble'. Mientras procesa datos, puede encontrarse con situaciones para cambiar los números enteros al doble. Para imprimir el resultado exacto, esta función lo ayudará. La función VBA CDBL solo acepta números. Cualquier expresión aparte de los números producirá un error de desajuste de tipo.

Formato de la función CDBL en Excel VBA

CDBL es una función simple que requiere una sola expresión para operar en VBA. La expresión debe ser un número.

  • Expresión: es el número que desea convertir en un número flotante.

Si la expresión es algo aparte de un número, la función devolverá un error de discordancia. Consulte el siguiente ejemplo, donde se pasa una expresión que no es un número a la función CDBL y se produce una falta de coincidencia del tipo de error.

Uso de la función CDBL en VBA

Veamos cómo la función VBA CDBL nos ayuda en el procesamiento de datos. Para obtener una visión clara y comprender el uso práctico de cambiar el tipo de datos, consulte el siguiente ejemplo. Puede ver la diferencia según el tipo de datos utilizado en la misma variable.

  • Declare una variable como tipo de datos entero y asígnele un valor flotante. Mientras imprime el valor, vea cómo va a mostrar el valor.

Código:

 Private Sub addconvert () Dim b As Integer End Sub 

  • Se asigna un valor flotante a la variable entera declarada. 785.456923785475 se asigna a la variable b, que es una variable entera.

Código:

 Private Sub addconvert () Dim b As Integer b = 785.456923785475 End Sub 

  • Usando un cuadro de mensaje, imprima el valor asignado.

Código:

 Private Sub addconvert () Dim b As Integer b = 785.456923785475 MsgBox b End Sub 

Vea cómo los resultados muestran la diferencia al imprimir el valor.

Ha asignado un número con valores flotantes, pero la salida muestra solo la parte entera del número dado. Aquí la variable 'b' se declara como número entero, por lo que no aceptará un valor flotante. Se toma la parte entera del valor decimal y se evita la parte decimal. Como la variable se declara como un entero, el número se redondeará al entero más cercano.

Para imprimir los datos tal como están, cambiando el tipo de datos variables a doble en lugar del tipo de datos entero.

  • Al hacer un cambio simple en el mismo código, puede imprimir el número dado tal como está. Declare la variable como un tipo de datos doble.

Código:

 Private Sub addconvert () Dim b As Double End Sub 

  • Se asigna un número como doble a la variable doble declarada. 785.456923785475 se asigna a la variable b que es doble en tipo de datos.

Código:

 Private Sub addconvert () Dim b As Double b = 785.456923785475 End Sub 

  • Usando un cuadro de mensaje imprima el valor asignado.

Código:

 Private Sub addconvert () Dim b As Double b = 785.456923785475 MsgBox b End Sub 

Vea cómo los resultados muestran la diferencia al imprimir el valor. Has asignado un número con valores flotantes.

Compare ambas salidas, puede ver la diferencia. Incluso los datos y la variable son los mismos, el cambio en el tipo de datos cambió toda la salida. De esto, obtendrá la importancia del tipo de datos y cómo influye en todo el programa. Esta es la razón para usar un tipo diferente de funciones de conversión con VBA.

Ejemplos de función CDBL en Excel VBA

A continuación se muestran los diferentes ejemplos de conversión de VBA a doble.

Puede descargar esta plantilla de Excel VBA CDBL aquí - Plantilla de VBA CDBL Excel

Ejemplo # 1: Convertir el tipo de datos de cadena a doble

Veamos cómo se realiza la conversión de datos y cuáles son los cambios que puede realizar con la ayuda de las funciones de conversión de datos. La cadena es un tipo de datos que acepta todos los tipos de datos. Una variable se define como una cadena y le asigna un número.

  • Use una función privada para verificar los cambios en diferentes tipos de datos, cree una función convertir como privada y declare la variable 'a' como una cadena.

Código:

 Private Sub convert () Dim a As String End Sub 

  • Para realizar la conversión, necesita una variable. Dado que la variable se está convirtiendo en un tipo de datos doble, declararla como un tipo de datos doble. Después de la conversión de datos, el valor se asignará a esta variable.

Código:

 Private Sub convert () Dim a As String Dim convert As Double End Sub 

  • Asigne un número flotante 1234.5645879 a la variable de cadena. El tipo de datos de cadena aceptará los números con valores flotantes.

Código:

 Private Sub convert () Dim a As String Dim convert As Double a = 1234.5645879 End Sub 

  • Ahora use la función VBA CDBL para convertir el valor al doble. Puede usar la variable 'convertir' que se declara como un tipo de datos doble. Pase la variable 'a' como una expresión a la función CDBL.

Código:

 Private Sub convert () Dim a As String Dim convert As Double a = 1234.5645879 convert = CDbl (a) End Sub 

  • Para ver el valor de salida, puede imprimir usando un cuadro de mensaje.

Código:

 Private Sub convert () Dim a As String Dim convert As Double a = 1234.5645879 convert = CDbl (a) MsgBox convert End Sub 

  • Ejecute este código presionando F5 directamente o presionando manualmente el botón Ejecutar en el panel superior izquierdo.

  • El valor asignado a la variable 'a' se imprimirá igual con puntos flotantes y un valor entero. El valor se convierte en un tipo de datos doble y el mismo se imprime como se muestra a continuación.

Ejemplo # 2 - Convertir y agregar dos números

Tiene dos variables para agregar y encontrar la suma como parte de su cálculo. Ambos son números flotantes con valores decimales. Pero una variable se declara como entera y otra como doble.

  • Cree una función add para encontrar la suma de dos números. Dos variables A1 y A2 se declaran como entero y doble respectivamente.

Código:

 Private Sub add () Dim A1 como entero Dim A2 como Double End Sub 

  • Asigne los dos números a las variables respectivas. Ambos son dos números flotantes con valores decimales.

Código:

 Private Sub add () Dim A1 como entero Dim A2 como Double A1 = 1256.45 A2 = 1234.58 End Sub 

  • Declare una tercera suma variable como tipo de datos doble ya que el resultado será un valor doble.

Código:

 Private Sub add () Dim A1 como entero Dim A2 como Double Dim sum como Double A1 = 1256.45 A2 = 1234.58 End Sub 

  • Agregue los dos números dados y ponga el resultado en la suma variable.

Código:

 Private Sub add () Dim A1 como entero Dim A2 como Double Dim sum como Double A1 = 1256.45 A2 = 1234.58 sum = A1 + A2 End Sub 

  • El uso de un cuadro de mensaje permite imprimir la salida.

Código:

 Private Sub add () Dim A1 como entero Dim A2 como Double Dim sum como Double A1 = 1256.45 A2 = 1234.58 sum = A1 + A2 MsgBox sum End Sub 

  • Ejecute este código presionando F5 directamente o presionando manualmente el botón Ejecutar en el panel superior izquierdo.

El resultado esperado es 2491.03 y mientras verifica la salida puede ver alguna diferencia en el resultado. El desajuste en el resultado ocurrió debido al valor tomado por la variable A1. Como esta es una variable entera, no aceptará la parte decimal del número, solo se tomará la parte entera mientras se procesa la suma.

  • Para evitar esto, convierta el número A1 al doble y asigne el número convertido a otra variable A3.

Código:

 Private Sub add () Dim A1 como entero Dim A2 como Double Dim sum como Double A1 = 1256.45 A2 = 1234.58 A3 = CDbl (1256.45) sum = A1 + A2 MsgBox sum End Sub 

  • Ahora agregue la variable convertida con A2 en lugar de A1. Dado que el número se convierte a doble tipo de datos, el valor con números flotantes será aceptado y agregado con A2.

Código:

 Private Sub add () Dim A1 como entero Dim A2 como Double Dim sum como Double A1 = 1256.45 A2 = 1234.58 A3 = CDbl (1256.45) sum = A2 + A3 MsgBox sum End Sub 

  • Ejecute este código presionando F5 directamente o presionando manualmente el botón Ejecutar en el panel superior izquierdo.

El valor de la suma ha sido corregido y producido el resultado esperado.

Cosas para recordar

  • La función VBA CDBL no aceptará valores en lugar de un número.
  • Se producirá un error de desajuste de tipo si se asigna un valor de texto a la función VBA CDBL.
  • El tipo de datos doble muestra valores decimales de 13 dígitos.
  • La función VBA CDBL le ayuda a obtener un resultado adecuado mientras procesa los números en Excel.

Artículos recomendados

Esta es una guía de la función VBA CDBL. Aquí discutimos cómo usar la función VBA CDBL para convertir el valor al tipo de datos Doble en Excel junto con algunos ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. Comentario de bloque de VBA
  2. Función SUMPRODUCT en Excel
  3. Rango con nombre de VBA
  4. Función COMBINAR en Excel

Categoría: