Computação Avançada

Aula

Introdução ao VBA no Excel

, Comment regular icon0 comments

Bem-vindo ao mundo da automatização no Excel com VBA (Visual Basic for Applications)! Nesta aula, você aprenderá os conceitos básicos para começar a criar macros e funções personalizadas.

Writer image

revisado por Leon

Edit Article

Indice

  1. > 📌 O que é VBA?
  2. > 🔧 Como Acessar o Editor VBA
  3. > 📝 Estrutura Básica do VBA
  4. > 🛠 Primeiros Passos: Criando uma Macro Simples
  5. > Atribuir macro a botão
  6. > 📌 Variáveis e Tipos de Dados
    1. Exemplo:
  7. > 🔄 Estruturas de Controle
    1. 1. Condicionais (IF)
    2. 2. Loops (For, Do While)
    3. Exemplo prático:
  8. > 📊 Trabalhando com Planilhas
    1. Referenciando Células
    2. Exemplo Prático: Soma Automatizada
  9. > Exercícios

📌 O que é VBA?

VBA = Visual Basic for Applications

Linguagem de programação integrada ao Excel (e outros programas do Office)

Permite automatizar tarefas, criar funções personalizadas e interagir com planilhas de forma avançada

🔧 Como Acessar o Editor VBA

Pressione ALT + F11 (atalho universal)

Ou acesse:

Guia Desenvolvedor > Visual Basic

Ad

Se não ver a guia "Desenvolvedor":

Arquivo > Opções > Personalizar Faixa de Opções > Marcar "Desenvolvedor"

📝 Estrutura Básica do VBA

No Editor VBA, você trabalhará com:

  • Módulos: Onde escreve os códigos (Inserir > Módulo)
  • Sub: Executa ações (macros)
  • Function: Retorna valores (funções personalizadas)

Exemplo de Sub:

Ad

Sub MensagemBoasVindas()

MsgBox "Olá, mundo VBA!"

End Sub

Os termos acima significam:

  • Sub: Começa uma "receita" (chamamos de macro)
  • ' (Apostrofo): É um comentário - o Excel ignora, serve para você anotar
  • MsgBox: Mostra uma mensagem na tela
  • End Sub: Termina a "receita"

Ad

Exemplo de Function:

Function Dobro(numero As Double) As Double

Dobro = numero * 2

End Function

🛠 Primeiros Passos: Criando uma Macro Simples

Objetivo: Te cumprimentar!

Código:

Sub DigaOla()

Ad

Dim nome As String

nome = InputBox("Qual seu nome?")

MsgBox "Olá, " & nome & "!"

End Sub

Como executar:

- Pressione F5 no Editor VBA

- Ou atribua a um botão na planilha

Atribuir macro a botão

Ad

Volte para o Excel e siga:

  • Guia Inserir > Formas > Escolha um retângulo ou botão
  • Desenhe o botão na planilha
  • Clique com o botão direito no botão criado
  • Selecione Atribuir Macro...
  • Escolha sua macro na lista (MensagemSimples)
  • Clique em OK
  • Para formatar o botão Clique direito > Editar Texto para mudar o rótulo (ex: "Clique Aqui")
  • Ad

  • Use a guia Formatar para mudar cores e estilo

📌 Variáveis e Tipos de Dados

Declaração básica: Dim nome Variavel As Tipo

Principais tipos:

  • Integer: Números inteiros
  • Double: Números decimais
  • String: Texto
  • Boolean: Verdadeiro/Falso
  • Ad

  • Range: Intervalo de células

Exemplo:

Dim nome As StringDim idade As IntegerDim salario As DoubleDim ativo As BooleanDim celula As Range

🔄 Estruturas de Controle

Ad

1. Condicionais (IF)

If condicao Then

'código se verdadeiro

Else

'código se falso

End If

Exemplo:

Sub VerificarMaioridade()

Ad

Dim idade As Integer

idade = Range("B1").Value

If idade >= 18 Then

MsgBox "Maior de idade"

Else

MsgBox "Menor de idade"

End If

End Sub

Ad

2. Loops (For, Do While)

Exemplo For:

For i = 1 To 10

'código repetido

Next i

Do While:

Do While condicao

'código repetido

Ad

Loop

Exemplo prático:

Sub ColorirLinhasPares()

Dim i As Integer

For i = 1 To 10 Step 2

Rows(i).Interior.Color = RGB(200, 200, 200)

Next i

End Sub

Ad

📊 Trabalhando com Planilhas

Referenciando Células

'Formas de referenciar:

Range("A1").Value = 100

Cells(1, 1).Value = 100 'Linha 1, Coluna 1

Exemplo Prático: Soma Automatizada

Sub SomaIntervalo()

Dim total As Double

Ad

total = Application.WorksheetFunction.Sum(Range("A1:A10"))

MsgBox "O total é: " & total

End Sub

Exercícios

1. Somar Dois Números. Objetivo: Criar uma macro que lê dois números das células A1 e B1, calcula a soma e exibe o resultado em C1. (Use Range("A1").Value para acessar valores.)

2. Criar uma macro que formata a célula A1 com: Cor de fundo amarela. Texto em negrito. Fonte vermelha. (Dicas => .Interior.Color = RGB(255, 255, 0) (amarelo), .Font.Bold = True, .Font.Color = RGB(255, 0, 0) (vermelho)

3. Converter para Maiúsculas. Objetivo: Criar uma macro que converte o texto da célula A1 para MAIÚSCULAS e exibe o resultado em B1. (Dica: Use a função UCase().)

4. Criar uma Tabela de Multiplicação. Objetivo: Criar uma macro que preenche uma tabela de multiplicação de 1 a 5 nas células A1:E5. (Dica: Use dois loops For aninhados.)

Ad

5. Limpar Conteúdo de Células. Objetivo: Criar uma macro que limpa o conteúdo das células A1 até C10. (Dica: Use Range("A1:C10").ClearContents().)