Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Variáveis e Tipos de Dados | Fundamentos de VBA
VBA do Excel para Automação Empresarial

Variáveis e Tipos de Dados

Deslize para mostrar o menu

Todo procedimento que você escreve precisa de um local para armazenar valores enquanto executa — como o nome de um cliente, um total acumulado, um indicador de sim/não. Isso é uma variável: uma caixa rotulada na memória onde você pode colocar um valor e recuperá-lo depois. Você cria uma com Dim (abreviação de "dimension"), e informa ao VBA antecipadamente que tipo de valor ela irá armazenar:

Dim productName As String
Dim currentStock As Integer
Dim unitPrice As Double

Cada linha reserva um espaço rotulado: productName só pode armazenar texto, currentStock apenas números inteiros, unitPrice apenas números com decimais. Declarar o tipo antecipadamente não é burocracia desnecessária — é o que permite ao VBA identificar erros antes que se tornem bugs. Se você tentar executar productName = 47, o VBA interrompe imediatamente com um erro de incompatibilidade de tipo, em vez de armazenar algo incorreto silenciosamente e causar confusão mais adiante.

Tipos de Dados Comuns

Uma regra prática: use Long em vez de Integer para contadores e números de linha — não é mais lento no Excel moderno e não causa estouro em conjuntos de dados grandes. Você verá Dim i As Long em todo este curso.

Option Explicit

Coloque esta linha única no topo de cada módulo, antes de qualquer Sub. Ela muda uma coisa: o VBA agora se recusará a executar qualquer linha que use uma variável que você não declarou antes com Dim:

Option Explicit
 
Sub Example()
    Dim total As Double
    total = 100        ' works — declared above
    toatl = 200        ' typo — Option Explicit catches this at compile time
End Sub

Sem Option Explicit, esse erro de digitação cria silenciosamente uma nova variável chamada toatl, e você passaria vinte minutos tentando entender por que total nunca muda. Esse único hábito previne mais bugs do que qualquer outra coisa neste capítulo.

Constantes

Constantes são valores nomeados que nunca mudam enquanto o código roda — ideal para coisas como taxas de imposto ou limites:

Const REORDER_THRESHOLD As Integer = 20

Usar REORDER_THRESHOLD em vez de digitar 20 em todo lugar significa que, se a regra de negócio mudar, você edita uma linha em vez de procurar por todo o código.

Tarefa

  1. Em Section_2_VBA_Fundamentals.xlsm, escreva um Sub que declare uma variável String para o nome do produto, um Double para o preço e um Integer para o estoque.
  2. Atribua a eles os valores para USB-C Hub digitando os valores literais.
  3. Use MsgBox para exibir os três em uma única mensagem, concatenados.
  4. Adicione Const LOW_STOCK As Integer = 20 acima do seu Sub e utilize-o em um MsgBox comparando com a variável de estoque.
Dica
expand arrow
  1. São necessárias três linhas Dim com tipos diferentes — consulte a Figura 2.1 se esquecer a sintaxe: Dim name As Type.
  2. A linha do USB-C Hub é Price 39.50, Stock 44. Basta atribuir diretamente: price = 39.50.
  3. A concatenação utiliza &, não +. Monte a string em partes: "Name: " & productName & ", Price: " & price.
  4. Constantes são declaradas fora de qualquer Sub, no topo do módulo, logo após Option Explicit. Compare stockCount com LOW_STOCK usando apenas > ou < dentro de uma string no MsgBox — ainda não é necessário usar If, apenas mostre ambos os valores para comparar visualmente.
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 1

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 2. Capítulo 1
some-alt