Tipo de variável inteira (Int)
O VBA Int tipo de dados é usado para armazenar números inteiros (sem valores decimais). No entanto, como veremos abaixo, os valores inteiros devem estar no intervalo de -32768 a 32768.
Para declarar uma variável Int, você usa a declaração Dim (abreviação de Dimension):
1 | Dim intA como inteiro |
Então, para atribuir um valor a uma variável, basta usar o sinal de igual:
1 | intA = 30000 |
Colocar isso em um procedimento é parecido com este:
12345678 | Sub IntExample ()'declara o inteiroDim intA como inteiro'preencher o inteirointA = 30000'mostra a caixa de mensagemMsgBox intAEnd Sub |
Se você executar o código acima, a seguinte caixa de mensagem será exibida.
Tipo de Variável Longa
Conforme mencionado acima, as variáveis Int só podem armazenar valores entre -32768 a 32768. Se você tentar atribuir um valor fora desse intervalo a uma variável Int, receberá um erro:
Quando você clica em de-bug, o código vai quebrar no ‘Preencher a linha inteira como 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 Grande tipo de dados:
1 | Dim longA as Long |
Variáveis longas 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?
Variáveis longas usam mais memória. Anos atrás, a memória era uma grande preocupação ao escrever código, no entanto, agora a tecnologia de computação está muito melhorada e é duvidoso que você encontre problemas de memória causados por longas variáveis ao escrever código VBA.
Recomendamos sempre o uso de variáveis Long em vez de variáveis Int. Continuaremos este tutorial discutindo variáveis Int, mas lembre-se de que você pode usar o tipo de variável Long.
Valores decimais e tipos de dados internacionais
Variáveis int não podem armazenar valores decimais. Se você passar um número decimal um inteiro, o número decimal será arredondado para remover o decimal.
Portanto, se você fosse executar o procedimento abaixo:
12345678 | Sub IntExampleB ()'declara o inteiroDim intA como inteiro'preencher o inteirointA = 3524,12'mostra a caixa de mensagemMsgBox intAEnd Sub |
Você obteria o seguinte resultado (arredondando para baixo):
No entanto, este código abaixo:
12345678 | Sub IntExampleB ()'declara o inteiroDim intA como inteiro'preencher o inteirointA = 3524,52'mostra a caixa de mensagemMsgBox intAEnd Sub |
Retornaria a seguinte caixa de mensagem (arredondando para cima):
Tipo de dados decimal / duplo
Se você quiser armazenar uma casa decimal, precisará declarar uma variável que permita casas decimais. Existem 3 tipos de dados que você pode usar - Simples, Duplo ou Moeda.
1 | Dim sngPrice as Single |
1 | Dim dblPrice as Double |
1 | Dim curPrice as Currency |
O tipo de dados Único arredondará a vírgula decimal de maneira ligeiramente diferente para os tipos de dados double e moeda, portanto, é preferível usar double para single para maior precisão. Um duplo pode ter até 12 casas decimais, enquanto a moeda e um único podem ter até 4 casas decimais.
Para obter mais informações sobre esses tipos de dados, você pode dar uma olhada aqui.
Declarar variável interna no módulo ou nível global
Nos exemplos anteriores, declaramos a variável Int dentro de um procedimento. Variáveis declaradas com um procedimento só podem ser usadas dentro desse procedimento.
Em vez disso, você pode declarar variáveis Int no módulo ou nível global.
Nível de Módulo
Nível de módulo variáveis são declaradas no topo dos módulos de código com o Dim demonstração.
Essas variáveis podem ser usadas com qualquer procedimento nesse módulo de código.
Nível global
Nível global variáveis também são declaradas no topo dos módulos de código. No entanto, em vez de usar o Dim declaração, use o Público declaração para indicar que a variável inteira está disponível para ser usada em todo o seu projeto VBA.
1 | Public IntA as Integer |
Se você declarar o número inteiro em um nível de módulo e, em seguida, tentar usá-lo em um módulo diferente, ocorrerá um erro.
Porém, 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 para Int
Pode haver uma instância ou instâncias em que você precisará converter um número armazenado como uma string 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 string vai para a esquerda - indicando o texto.
Converter Int em String
Por outro lado, você pode converter um valor inteiro em uma string.
Para obter mais informações sobre esses tipos de dados, você pode dar uma olhada aqui.
Formato inteiro armazenado como string
<>