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 Boolean
tipos de datos , Byte
, Decimal
Date
, Double
, LongPtr
, Object
o 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.