Resumo de tipo de dadosData type summary

Um tipo de dados representa as características de uma variável que determina que tipo de dados ela pode conter.A data type is the characteristic of a variable that determines what kind of data it can hold. Os tipos de dados incluem os tipos da tabela a seguir, além dos tipos definidos pelo usuário e tipos específicos de objetos.Data types include those in the following table as well as user-defined types and specific types of objects.

Definir tipos de dados intrínsecosSet intrinsic data types

A tabela a seguir mostra os serviços de tipos de dados compatíveis, incluindo intervalos e espaços de armazenamento.The following table shows the supported data types, including storage sizes and ranges.

Tipo de dadosData type Espaço de ArmazenamentoStorage size IntervaloRange
BooleanBoolean 2 bytes2 bytes True ou FalseTrue or False
ByteByte 1 byte1 byte 0 a 2550 to 255
CollectionCollection DesconhecidoUnknown DesconhecidoUnknown
Currency (inteiro dimensionado)Currency (scaled integer) 8 bytes8 bytes -922.337.203.685.477,5808 a 922.337.203.685.477,5807-922,337,203,685,477.5808 to 922,337,203,685,477.5807
DateDate 8 bytes8 bytes 1 de janeiro de 100 a 31 de dezembro de 9999January 1, 100, to December 31, 9999
DecimalDecimal 14 bytes14 bytes +/-79.228.162.514.264.337.593.543.950.335 sem vírgula decimal+/-79,228,162,514,264,337,593,543,950,335 with no decimal point

+/-7,9228162514264337593543950335 com 28 valores à direita da vírgula decimal+/-7.9228162514264337593543950335 with 28 places to the right of the decimal

O menor número diferente de zero é +/-0,0000000000000000000000000001Smallest non-zero number is+/-0.0000000000000000000000000001
DictionaryDictionary DesconhecidoUnknown DesconhecidoUnknown
Double (ponto flutuante de precisão dupla)Double (double-precision floating-point) 8 bytes8 bytes -1,79769313486231E308 a -4,94065645841247E-324 para valores negativos-1.79769313486231E308 to -4.94065645841247E-324 for negative values

4,94065645841247E-324 a 1,79769313486232E308 para valores positivos4.94065645841247E-324 to 1.79769313486232E308 for positive values
IntegerInteger 2 bytes2 bytes -32.768 a 32.767-32,768 to 32,767
Long (Inteiro Long)Long (Long integer) 4 bytes4 bytes -2.147.483.648 a 2.147.483.647-2,147,483,648 to 2,147,483,647
LongLong (Inteiro LongLong)LongLong (LongLong integer) 8 bytes8 bytes -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807

Válido somente em plataformas de 64 bits.Valid on 64-bit platforms only.
LongPtr (Inteiro Long em sistemas de 32 bits, inteiro LongLong em sistemas de 64 bits)LongPtr (Long integer on 32-bit systems, LongLong integer on 64-bit systems) 4 bytes em sistemas de 32 bits4 bytes on 32-bit systems

8 bytes em sistemas de 64 bits8 bytes on 64-bit systems
-2.147.483.648 a 2.147.483.647 em sistemas de 32 bits-2,147,483,648 to 2,147,483,647 on 32-bit systems

-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 em sistemas de 64 bits-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 on 64-bit systems
ObjectObject 4 bytes4 bytes Qualquer referência de ObjectAny Object reference
Single (ponto flutuante de precisão simples)Single (single-precision floating-point) 4 bytes4 bytes -3,402823E38 a -1,401298E-45 para valores negativos-3.402823E38 to -1.401298E-45 for negative values

1,401298E-45 a 3,402823E38 para valores positivos1.401298E-45 to 3.402823E38 for positive values
String (tamanho variável)String (variable-length) 10 bytes + tamanho da cadeia de caracteres10 bytes + string length De 0 a aproximadamente 2 bilhões0 to approximately 2 billion
String (tamanho fixo)String (fixed-length) Tamanho da cadeia de caracteresLength of string De 1 a aproximadamente 65.4001 to approximately 65,400
Variant (com números)Variant (with numbers) 16 bytes16 bytes Um valor numérico para o intervalo de uma DoubleAny numeric value up to the range of a Double
Variant (com caracteres)Variant (with characters) 22 bytes + tamanho da cadeia de caracteres (24 bytes em sistemas de 64 bits)22 bytes + string length (24 bytes on 64-bit systems) Mesmo intervalo da Cadeia de caracteres de tamanho variávelSame range as for variable-length String
User-defined (usando Type)User-defined (using Type) Número obrigatório para os elementosNumber required by elements O intervalo de cada elemento é igual ao intervalo de seu tipo de dados.The range of each element is the same as the range of its data type.

Uma Variant que contém uma matriz exige 12 bytes a mais do que a matriz sozinha.A Variant containing an array requires 12 bytes more than the array alone.

Observação

As matrizes de todos os tipos de dados exigem 20 bytes de memória mais 4 bytes para cada dimensão de matriz mais o número de bytes ocupados pelos próprios dados.Arrays of any data type require 20 bytes of memory plus 4 bytes for each array dimension plus the number of bytes occupied by the data itself. A memória ocupada pelos dados pode ser calculada multiplicando-se o número de elementos dos dados pelo tamanho de cada elemento.The memory occupied by the data can be calculated by multiplying the number of data elements by the size of each element.

Por exemplo, os dados em uma matriz de dimensão simples, formados por 4 elementos de dados Integer de 2 bytes cada, ocupam 8 bytes.For example, the data in a single-dimension array consisting of 4 Integer data elements of 2 bytes each occupies 8 bytes. Os 8 bytes exigidos pelos dados somados aos 24 bytes de sobrecarga resultam no requisito de memória total para a matriz de 32 bytes.The 8 bytes required for the data plus the 24 bytes of overhead brings the total memory requirement for the array to 32 bytes. Em plataformas de 64 bits, o SAFEARRAY usa 24 bits (mais 4 bytes por instrução Dim).On 64-bit platforms, SAFEARRAY's take up 24-bits (plus 4 bytes per Dim statement). O membro pvData é um apontador de 8 bytes que deve se ajustar aos limites de 8 bytes.The pvData member is an 8-byte pointer and it must be aligned on 8 byte boundaries.

Observação

LongPtr não é um tipo de dados verdadeiro porque se transforma em um inteiro Long em ambientes de 32 bits ou LongLong em ambientes de 64 bits.LongPtr is not a true data type because it transforms to a Long in 32-bit environments, or a LongLong in 64-bit environments. LongPtr deve ser usado para representar valores de apontador e identificador em instruções Declare e permitir a gravação de código portátil que poderá ser executado em ambientes de 32 e 64 bits.LongPtr should be used to represent pointer and handle values in Declare statements and enables writing portable code that can run in both 32-bit and 64-bit environments.

Observação

Use a função StrConv para converter um tipo de dados de cadeia de caracteres para outro.Use the StrConv function to convert one type of string data to another.

Converter entre tipos de dadosConvert between data types

Confira Funções de conversão de tipo para ver exemplos de como usar as funções a seguir para força uma expressão para um tipo de dados específico: CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CLngLng, CLngPtr, CSng, CStr e CVar.See Type conversion functions for examples of how to use the following functions to coerce an expression to a specific data type: CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CLngLng, CLngPtr, CSng, CStr, and CVar.

Para os itens a seguir, confira as respectivas páginas de funções: CVErr, Fix e Int.For the following, see the respective function pages: CVErr, Fix, and Int.

Observação

CLngLng é válido apenas em plataformas de 64 bits.CLngLng is valid on 64-bit platforms only.

Verificar tipos de dadosVerify data types

Para verificar tipos de dados, confira as funções a seguir:To verify data types, see the following functions:

Valores de retorno para CStrReturn values for CStr

Se a expressão forIf expression is CStr retornaráCStr returns
BooleanBoolean Uma cadeia de caracteres que contém True ou False.A string containing True or False.
DateDate Uma cadeia de caracteres que contém uma data no formato de data abreviada do sistema.A string containing a date in the short date format of your system.
EmptyEmpty Uma cadeia de caracteres de tamanho zero ("").A zero-length string ("").
ErrorError Uma cadeia de caracteres que contém a palavra Error seguida do número de erro.A string containing the word Error followed by the error number.
NullNull Um erro em tempo de execução.A run-time error.
Outro valor numéricoOther numeric Uma cadeia de caracteres que contém o número.A string containing the number.

Confira tambémSee also

Suporte e comentáriosSupport and feedback

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação?Have questions or feedback about Office VBA or this documentation? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.