VBA – Tipo de Dados Int / Integer (Dim Variable)

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on September 11, 2023

Tipo de Variável Integer (Int)

O tipo de dados Int do VBA é usado para armazenar números inteiros (sem valores decimais). Entretanto, como veremos a seguir, os valores Integer devem estar dentro do intervalo de -32768 a 32768.

Para declarar uma variável Int, você usa a declaração Dim (abreviação de Dimensão):

Dim intA as Integer

Em seguida, para atribuir um valor a uma variável, basta usar o sinal de igual:

intA = 30000

Colocar isso em um procedimento tem a seguinte aparência:

Sub IntExemplo()
'declarar o inteiro
    Dim intA as Integer
'preencher o inteiro
    intA = 30000
'mostrar a caixa de mensagem
    MsgBox intA
End Sub

Se você executar o código acima, a seguinte caixa de mensagem será exibida.

vba integer intexample msgbox

Tipo de Variável Long

Conforme mencionado acima, as variáveis Int só podem armazenar valores entre -32768 e 32768. Se você tentar atribuir um valor fora desse intervalo a uma variável Int, receberá um erro:

variavel integer estouro

Quando você clicar em Depurar”, o código será interrompido na linha ‘preencher o inteiro ‘, pois um inteiro não pode armazenar um número tão alto quanto 50000.

integer-trecho-estouro

Em vez disso, você pode declarar uma variável com o tipo de dados Long:

Dim longA as Long

As variáveis Long podem armazenar tipos de dados muito longos (-2.147.483.648 a 2.147.483.648).

Por Que Você Usaria Variáveis Int em Vez de Variáveis Long?

As variáveis longas usam mais memória. Anos atrás, a memória era uma grande preocupação ao escrever código, mas agora a tecnologia de computação está muito mais avançada e é duvidoso que você encontre problemas de memória causados por variáveis longas ao escrever código VBA.

Recomendamos sempre usar variáveis Longas em vez de variáveis Int. Continuaremos este tutorial discutindo as variáveis Int, mas lembre-se de que você pode usar o tipo de variável Long.

Valores Decimais e Tipos de Dados Int

As variáveis Int não podem armazenar valores decimais. Se você passar um número decimal para um número inteiro, o número decimal será arredondado para remover o decimal.

Portanto, se você executasse o procedimento abaixo:

Sub IntExemploB()
'declarar o número inteiro
   Dim intA as Integer
'preencher o número inteiro
   intA = 3524.12
'mostrar a caixa de mensagem
   MsgBox intA
End Sub

Você obteria o seguinte resultado (arredondamento para baixo):

vba integer passing decimal round down msgbox

No entanto, este código abaixo

Sub IntExemploB()
 'declarar o número inteiro
    Dim intA as Integer
'preencher o número inteiro
    intA = 3524.52
'mostrar a caixa de mensagem
    MsgBox intA
End Sub

Retornaria a seguinte caixa de mensagem (arredondando para cima):

vba integer passing decimal round up msgbox

Tipo de Dados Decimal / Double

Se quiser armazenar uma casa decimal, você precisará declarar uma variável que permita casas decimais. Há três tipos de dados que você pode usar: Single, Double ou Currency

Dim sngPrice as Single
Dim dblPrice as Double
Dim curPrice as Currency

O tipo de dados Single arredondará o ponto decimal de forma ligeiramente diferente dos tipos de dados double e currency, portanto, é preferível usar double em vez de single para obter precisão. Um double pode ter até 12 casas decimais, enquanto currency e single podem ter até 4 casas decimais.

variaveis single currency

Para obter mais informações sobre esses tipos de dados, dê uma olhada aqui.

Declarar a Variável Int no Módulo ou no Nível Global

Nos exemplos anteriores, declaramos a variável Int em um procedimento. As variáveis declaradas com um procedimento só podem ser usadas dentro desse procedimento.

declarar int procedimento

Em vez disso, você pode declarar variáveis Int no nível do módulo ou global.

Nível do Módulo

As variáveis em nível de módulo são declaradas na parte superior dos módulos de código com a instrução Dim.

declarar int modulo

Essas variáveis podem ser usadas com qualquer procedimento nesse módulo de código.

Nível Global

As variáveis de nível global também são declaradas na parte superior dos módulos de código. No entanto, em vez de usar a instrução Dim, use a instrução Public para indicar que a variável de número inteiro está disponível para ser usada em todo o seu projeto VBA.

Public IntA as Integer

declarar int global

Se você declarasse o inteiro em um nível de módulo e depois tentasse usá-lo em um módulo diferente, ocorreria um erro.

int variavel nao definida

Entretanto, se você tivesse usado a palavra-chave Public para declarar o inteiro, o erro não ocorreria e o procedimento seria executado perfeitamente.

Converter String em Int

Pode haver uma ou mais instâncias em que você precisará converter um número armazenado como uma cadeia de caracteres em um valor inteiro.

converter string em int

Você notará na janela imediata que o valor inteiro vai para a direita, indicando um número, enquanto o valor da cadeia vai para a esquerda, indicando texto.

Converter Int em String

Por outro lado, você pode converter um valor inteiro em uma cadeia de caracteres.

converter int em string

Para obter mais informações sobre esses tipos de dados, dê uma olhada aqui.

Formatar Inteiro Armazenado como String

Para formatar números inteiros armazenados como cadeia de caracteres, use a função Format.

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA