Resumen de tipo de datos

Un tipo de datos es la característica de una variable que determina qué tipo de datos puede contener. Los tipos de datos incluyen los que aparecen en la tabla siguiente, así como los tipos definidos por el usuario y determinados tipos de objetos.

Establezca tipos de datos intrínsecos.

La siguiente tabla muestra los tipos de datos compatibles, incluidos los tamaños de almacenamiento e intervalos.

Tipo de datos Tamaño de almacenamiento Rango
Booleano 2 bytes True o False
Byte 1 byte De 0 a 255.
Colección Unknown Desconocido
Moneda (entero con escala) 8 bytes De -922.337.203.685.477.5808 a 922.337.203.685.477,5807
Fecha 8 bytes -657.434 (1 de enero de 100), a 2.958.465 (31 de diciembre de 9999)
Decimal 14 bytes +/- 79 228 162 514 264 337 593 543 950 335 sin decimales

+/-7,9228162514264337593543950335 con 28 decimales a la derecha de la coma decimal

El número más pequeño distinto de cero es +/- 0,0000000000000000000000000001
Diccionario Unknown Desconocido
Double (punto flotante de precisión doble) 8 bytes -1,79769313486231E308 a - 4,94065645841247E-324 para valores negativos

4,94065645841247E-324 a 1,79769313486232E308 para valores positivos
Integer 2 bytes A:
Long (entero largo) 4 bytes A:
LongLong (entero LongLong) 8 bytes -9 223 372 036 854 775 808 to 9 223 372 036 854 775 807

Válido solo en plataformas de 64 bits.
LongPtr (entero largo en sistemas de 32 bits, entero LongLong en sistemas de 64 bits) 4 bytes en sistemas de 32 bits

8 bytes en sistemas de 64 bits
-2 147 483 648 a 2 147 483 647 en sistemas de 32 bits

-9 223 372 036 854 775 808 a 9 223 372 036 854 775 807 en sistemas de 64 bits
Object 4 bytes Cualquier referencia de objeto
Single (punto flotante de precisión sencilla) 4 bytes -3,402823E38 a -1,401298E-45 para valores negativos

1,401298E-45 a 3,402823E38 para valores positivos
String (longitud variable) 10 bytes + longitud de cadena De 0 a aproximadamente 2 mil millones
String (longitud fija) Longitud de la cadena De 1 a aproximadamente 65.400
Variant (con números) 16 bytes Cualquier valor numérico hasta el intervalo de Double
Variant (con caracteres) 22 bytes + longitud de cadena (24 bytes en sistemas de 64 bits) Mismo intervalo que para el valor de String de longitud variable
Definido por el usuario (mediante Type) Número requerido por los elementos El intervalo de cada elemento es el mismo que el intervalo de su tipo de datos.

Un Variant que contiene una matriz requiere 12 bytes más que la matriz independiente.

Nota:

Las matrices de cualquier tipo de datos requieren 20 bytes de memoria más 4 bytes para cada dimensión de matriz más el número de bytes que ocupan los propios datos. La memoria que ocupan los datos se puede calcular multiplicando el número de elementos de datos por el tamaño de cada elemento.

Por ejemplo, los datos de una matriz de dimensión sencilla que se compone de 4 elementos de datos Integer de 2 bytes cada uno ocupa 8 bytes. Los 8 bytes requeridos para los datos más los 24 bytes de sobrecarga ascienden el requisito de memoria total para la matriz a 32 bytes. En plataformas de 64 bits, las SAFEARRAY ocupan hasta 24 bits (más 4 bytes por instrucción Dim). El miembro pvData es un puntero de 8 bytes y debe estar alineado en límites de 8 bytes.

Nota:

LongPtr no es un tipo de datos real porque se transforma en un valor de Long en entornos de 32 bits o en LongLong en entornos de 64 bits. LongPtr debería usarse para representar valores de puntero y controlador en instrucciones Declare y habilita el código portátil de escritura que puede ejecutarse en entornos de 32 y de 64 bits.

Nota:

Use la función StrConv para convertir un tipo de datos de cadena a otro.

Caracteres de tipo de identificador

Se proporciona un conjunto de caracteres de tipo de identificador que puede usar en una declaración para especificar el tipo de datos de una variable o constante. En la tabla siguiente se muestran los caracteres de tipo de identificador disponibles con ejemplos de uso.

Carácter de tipo de identificador Tipo de datos Ejemplo
% Entero Dim L%
& Long Dim M&
^ LongLong Dim N^
@ Moneda Const W@ = 37.5
! Simple Dim Q!
# Doble Dim X#
$ Cadena Dim V$ = "Secret"

No existen caracteres de tipo de identificador para los Booleantipos de datos , Byte, DecimalDate, Double, LongPtr, Objecto Variant para los tipos de datos compuestos, como matrices, colecciones, diccionarios, estructuras o tipos definidos por el usuario.

En algunos casos, puede anexar el $ carácter a una función de Visual Basic, por ejemplo Left$ , en lugar de Left, para obtener un valor devuelto de tipo String.

En todos los casos, el carácter de tipo de identificador debe seguir inmediatamente el nombre del identificador.

Convierta entre tipos de datos.

Vea Funciones de conversión de tipos para obtener ejemplos sobre cómo usar las siguientes funciones para convertir una expresión a un tipo de datos específico: CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CLngLng, CLngPtr, CSng, CStr y CVar.

Para los siguientes procedimientos, consulte las páginas de la función correspondiente: CVErr, Fix y Int.

Nota:

CLngLng es válido solo en plataformas de 64 bits.

Compruebe los tipos de datos.

Para comprobar los tipos de datos, consulte las siguientes funciones:

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.