Tipo de datos dobles de Excel VBA

En VBA, tenemos diferentes tipos de tipos de datos que se utilizan según la necesidad. Al igual que, el tipo de datos Entero se usa para números, el tipo de datos de Cadena se usa para alfabetos y texto y se usa un tipo de datos Largo cuando necesitamos usar números o texto sin ningún límite. Del mismo modo, tenemos un tipo de datos Doble que se usa para números decimales. Aunque, podemos usar Single para decimales, pero esto solo retendrá valores a 2 puntos del decimal. Si queremos usar valores decimales sin ningún límite, entonces tenemos un tipo de datos Doble para esto.

Si usamos Integer en lugar del tipo de datos Double para valores decimales, convertirá el valor decimal en los enteros enteros más cercanos. Y también, hay algún límite para usar el tipo de datos Double también. Doble puede acomodar valores negativos de -1.79769313486231E308 a -4.94065645841247E324 y para valores positivos de 4.94065645841247E-324 a 1.79769313486232E308. Más allá de esto, el valor no puede ser aceptado.

¿Cómo usar el tipo de datos doble VBA en Excel?

A continuación se muestran los diferentes ejemplos para usar el Tipo de datos doble en Excel VBA.

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

VBA Double - Ejemplo # 1

En este ejemplo, veremos cómo diferentes tipos de datos, como enteros y simples, dan la salida para cualquier valor decimal y, por otro lado, cómo el tipo de datos doble da la salida del mismo valor decimal. Para esto, siga los pasos a continuación:

Paso 1: abra un módulo desde la pestaña del menú Insertar.

Paso 2: escriba el subprocedimiento para VBA Double. Podemos elegir cualquier otro nombre para definir el nombre de VBA Double según nuestra elección.

Código:

 Sub VBA_Double () End Sub 

Paso 3: Ahora defina una variable, digamos que sea A como Entero como se muestra a continuación.

Código:

 Sub VBA_Double () Dim A como entero Fin Sub 

Paso 4: asigne un valor decimal a la variable definida. Digamos que el valor decimal es 1.23456789 como se muestra a continuación.

Código:

 Sub VBA_Double () Dim A como entero A = 1.23456789 End Sub 

Paso 5: Ahora necesitamos una plataforma donde podamos ver la salida. Aquí, podemos usar la función Msgbox o Debug.Print. Usaremos Msgbox, que es la forma más tradicional de hacerlo.

Código:

 Sub VBA_Double () Dim A como entero A = 1.23456789 MsgBox A End Sub 

Paso 6: ejecútelo haciendo clic en el botón Reproducir o presionando la tecla F5.

Veremos el cuadro de mensaje de salida con el valor "1". Esto significa que el tipo de datos Entero ha convertido el valor decimal al número entero más cercano como 1.

Paso 7: Ahora cambiemos el tipo de datos de Integer a Single y veamos qué tipo de datos Single nos devolverá.

Código:

 Sub VBA_Double () Dim A como Single A = 1.23456789 MsgBox A End Sub 

Paso 8: Ejecute nuevamente el código haciendo clic en el botón Reproducir o presionando la tecla F5.

Veremos que el tipo de datos Single ha devuelto el valor decimal que es 1 . 234568 mientras que alimentamos el valor de entrada como 1.23456789 .

Esto significa que el tipo de datos Single convierte el valor decimal alimentado en el valor decimal más cercano posible mediante la conversión del número del último dígito al valor más cercano que debería ser menor que 5.

Paso 9: Ahora usaremos el tipo de datos Doble en lugar de Individual y veremos qué salida obtendríamos.

Código:

 Sub VBA_Double () Dim A como Double A = 1.23456789 MsgBox A End Sub 

Paso 10: Ejecute nuevamente el código haciendo clic en el botón Reproducir o presionando la tecla F5.

Veremos que el cuadro de mensaje tiene exactamente el mismo valor que alimentamos, lo que significa que Double no convirtió el valor de entrada si cae por debajo de su límite.

VBA Double - Ejemplo # 2

En este ejemplo, utilizaremos referencias de celda. Y comenzaremos a trabajar de la misma manera que hemos visto en el ejemplo-1. Para esto, tenemos algunos datos en la columna A en varios dígitos de decimales.

Siga los pasos a continuación:

Paso 1: escriba el subprocedimiento de VBA Double como se muestra a continuación.

Código:

 Sub VBA_Double2 () End Sub 

Paso 2: Primero, comenzaremos con Integer. Así que defina una variable como Entero como se muestra a continuación. Esta sería nuestra variable de entrada.

Código:

 Sub VBA_Double2 () Dim A como entero Fin Sub 

Paso 3: Después de eso, definiremos nuevamente una variable como un entero. Esta es una variable en la que almacenaremos la salida.

Código:

 Sub VBA_Double2 () Dim A como entero Dim Deci como entero End Sub 

Paso 4: abra un bucle For-Next como se muestra a continuación. Aquí es donde escribiremos la condición para obtener los datos de una columna a otra columna.

Código:

 Sub VBA_Double2 () Dim A como entero Dim Deci como entero para el siguiente A End Sub 

Paso 5: Seleccione el rango de celdas en la variable A. Aquí, nuestros datos son de la celda A1 a A10.

Código:

 Sub VBA_Double2 () Dim A como entero Dim Deci como entero para A = 1 a 10 Siguiente A Fin Sub 

Paso 6: Ahora seleccione los valores de celda que queremos colocar. Aquí los valores de las celdas están en la primera columna.

Código:

 Sub VBA_Double2 () Dim A como entero Dim Deci como entero para A = 1 a 10 Deci = Celdas (A, 1) .Valor Siguiente A Fin Sub 

Paso 7: Ahora colocaremos los valores seleccionados en la columna 2, que es B en la variable definida Deci .

Código:

 Sub VBA_Double2 () Dim A como entero Dim Deci como entero para A = 1 a 10 Deci = Celdas (A, 1). Celdas de valor (A, 2) .Valor = Deci Siguiente A Fin Sub 

Paso 8: Ejecute el código haciendo clic en el botón Reproducir o presionando la tecla F5.

Como habíamos seleccionado el tipo de datos Integer para la variable de salida Deci, convirtió los números decimales en números enteros enteros en la columna B.

Paso 9: Cambiemos el tipo de datos de Deci, que es la variable de salida de Integer a Single, como se muestra a continuación.

Código:

 Sub VBA_Double2 () Dim A como entero Dim Deci como único para A = 1 a 10 Deci = Cells (A, 1) .Value Cells (A, 2) .Value = Deci Next A End Sub 

Paso 10: Ejecute el código haciendo clic en el botón Reproducir o presionando la tecla F5. Veremos que los números decimales de la columna A se convirtieron en los mejores números decimales más cercanos posibles.

Paso 11: Cambiemos el tipo de datos variables de salida de Single a Double . Y mira, lo que obtendremos en la Columna B.

Código:

 Sub VBA_Double2 () Dim A como número entero Dim Deci como doble para A = 1 a 10 Deci = Celdas (A, 1). Celdas de valor (A, 2) .Valor = Deci Siguiente A Fin Sub 

Paso 12: Ejecute nuevamente el código haciendo clic en el botón Reproducir o presionando la tecla F5. Así es como funciona VBA Double .

Pros y contras de VBA Double

  • VBA Double convierte el mismo número en números decimales en un rango específico.
  • Es muy fácil de usar.
  • Podemos usar el tipo de datos Double en lugar de Integer o Single, de manera similar.
  • No considera el número decimal más allá del límite que hemos visto en la sección de introducción anterior.

Cosas para recordar

  • El límite de uso de VBA Double para valores negativos es de -1.79769313486231E308 a -4.94065645841247E324 y para valores positivos es de 94065645841247E-324 a 1.79769313486232E308.
  • VBA Double puede contener valores de hasta 14 dígitos si está por debajo del límite dado anteriormente.
  • VBA Double usa 8 bytes de memoria del sistema cada tipo que se usa.

Artículos recomendados

Esta es una guía para Excel VBA Double. Aquí discutimos cómo usar tipos de datos dobles en Excel VBA junto con ejemplos prácticos y plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. Aleatorización de VBA (ejemplos con plantilla de Excel)
  2. ¿Cómo cambiar el nombre de la hoja en VBA?
  3. ¿Cómo utilizar la declaración VBA ReDim?
  4. Declaración de VBA Variable | Plantilla de Excel
  5. VBA Environ

Categoría: