VBA – Tipo de Dados Int / Integer (Dim Variable)
In this Article
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.
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:
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.
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):
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):
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.
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.
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.
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
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.
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.
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.
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.