VBA + Excel
Exemplos de Códigos VBA
AutoMacro: VBA Add-in com Centenas de Exemplos de Códigos VBA Prontos Para Uso e Muito Mais!
Procure na lista abaixo exemplos de códigos Excel VBA gratuitos e completos com explicações.
Alguns incluem também arquivos para download. Estes Scripts & Macros Excel VBA são desenvolvidos profissionalmente e estão prontos para uso.
Esperamos que você ache esta lista útil!
Visite nossa página de exemplos de código VBA em inglês para encontrar mais de 500 artigos
Exemplos de códigos VBA | |
Tutoriais Detalhados | yes |
PowerPoint VBA – Exemplos e Tutoriais de Macros | |
Classificando Dados no Excel VBA | |
Usando Localizar e Substituir no Excel VBA | |
Exemplos de macros do Word e tutorial VBA | |
Fundamentos | yes |
VBA If, ElseIf, Else (Guia Definitivo para Declarações Condicionais If) | |
VBA Colar Valor & Colar Especial | |
VBA – Recortar, Copiar, Colar a Partir de uma Macro | |
VBA Save File – 20 Exemplos fáceis | |
Conceitos de Codificação VBA | yes |
Comentários no VBA | |
VBA – Como Renomear ou Excluir um Módulo ou Formulário | |
VBA – Retornar um Valor de um Subprocedimento | |
VBA – Chamada de Função a Partir de uma Sub | |
Função VBA – Chamada, Retorno de Valor e Parâmetros | |
VBA On Error – Melhores Práticas de Tratamento de Erros | |
VBA – Instrução Select Case | |
VBA – Ocultar uma Macro | |
| |
VBA – Executar uma Macro a Partir de uma Macro | |
VBA – Executar uma macro linha a linha | |
VBA – Esperar, Atrasar, Criar um Cronômetro Durante a Execução do Código | |
VBA – Debug.Print e a Janela Verificação Imediata | |
VBA – DoEvents | |
VBA – Comando End (Fim) | |
VBA – Sair da Subfunção ou Função | |
VBA – Em Caso de Erro, Sair da Sub | |
VBA – Aumentar a Velocidade e Outras Práticas Recomendadas | |
Laços | yes |
VBA For Loop – Loop em um Intervalo de Células | |
Excel VBA Loops – For Each, For Next, Do While, Aninhados e Mais | |
VBA – Exemplos de For Each (Referência Rápida) | |
VBA – Saída de Loop For | |
VBA – Sair do Loop | |
Faixas e Células | yes |
Excel VBA – Intervalos e Células | |
Excel – VBA – Fórmulas – O guia definitivo | |
Excel VBA – União e Intersecção | |
Excel VBA – Redimensionar Intervalo | |
VBA – Preenchimento Automático com uma Macro | |
VBA – Alterar a Cor de Fundo de uma Célula | |
VBA – ClearFormats – Remover Formatação Para Cada Célula no Intervalo | |
VBA – Formatação Condicional – Destacar Duplicatas em um Intervalo | |
VBA – Determinar a Coluna Inicial e Final de uma Célula Mesclada | |
VBA – Localizar o Valor Máximo de Cada Coluna em um Intervalo | |
VBA – Pincel de Formatação | |
VBA – Obter a Coluna ou Linha da Célula Ativa | |
VBA – Redimensionar um Objeto para o Tamanho de um Intervalo | |
VBA – Selecionar Todas as Células | |
VBA – Somar por Cor | |
VBA – Testar se a Seleção é um Intervalo ou um Objeto | |
VBA Valor da Célula – Obter, Definir ou Alterar | |
VBA ClearContents / Limpar Células | |
VBA Copiar Destino (Copiar Intervalo Para Outra Planilha) | |
VBA – Região Atual | |
VBA – Intervalo Dinâmico | |
Função VBA – Preenchimento de um Intervalo com Valores Aleatórios | |
VBA – Destacar Célula | |
VBA – Mesclar Células e Desfazer a Mesclagem de Células | |
VBA Deslocar Intervalo ou Célula | |
VBA – Endereço de Intervalo/Célula | |
Propriedade Range.End (xlDown, xlUp, xlToRight, xlToLeft) do VBA | |
VBA Selecionar Intervalo / Células | |
VBA Union – Unir Vários Intervalos | |
VBA – Quebrar Texto Automaticamente | |
VBA – Offset da ActiveCell | |
Linhas e Colunas | yes |
VBA – Selecionar (e Trabalhar com) Linhas e Colunas Inteiras | |
Excluir ou Inserir Linhas com Base no Valor da Célula | |
Excluir Linhas que Atendem a Determinados Critérios no VBA | |
Ocultar / Reexibir Colunas e Linhas | |
Reexibir Todas as Linhas/Colunas | |
VBA – Ajuste Automático de Colunas | |
VBA – Contar as Linhas de uma Seleção | |
VBA – Excluir Linhas em Branco | |
VBA – Selecionar Colunas Não Contíguas | |
Copiar / Colar Linhas e Colunas em VBA | |
VBA – Excluir Linha ou Coluna Inteira | |
VBA – Agrupar Linhas e Colunas | |
Inserir Linha ou Coluna com VBA | |
VBA – Definir Largura da Coluna ou Altura da Linha | |
VBA Used Range – Contagem do Número de Linhas ou Colunas Usadas | |
Planilhas | yes |
Planilhas VBA – O Guia Definitivo | |
VBA – Contar as Planilhas Numa Pasta de Trabalho | |
| |
VBA – Ocultar (ou Reexibir) uma Planilha | |
VBA – Ocultar Guias de Planilha | |
VBA – Como Utilizar as Funções de Planilha (e uma Lista Completa) | |
VBA – Percorrer Todas as Planilhas com For Each | |
VBA – Macro Para Listar Todas as Planilhas em uma Pasta de Trabalho | |
VBA – Enviar planilhas por e-mail como pastas de trabalho separadas | |
VBA – Reexibir Todas as Planilhas | |
VBA Limpar Toda a Planilha | |
VBA Copiar Planilha | |
VBA – Excluir ou Limpar Planilha | |
VBA Obter Nome da Planilha / Renomear Planilha | |
VBA – Proteger / Desproteger Planilhas | |
Rotina VBA para adicionar e nomear planilhas | |
Selecionar Planilha, Ativar Planilha e Obter Planilha Ativa no VBA | |
Apostilas | yes |
VBA – Criar Novo Arquivo (Workbooks.Add) | |
VBA – ActiveWorkbook versus ThisWorkbook | |
VBA – Abrir/Fechar Pasta de Trabalho | |
VBA – Proteção de Pasta de Trabalho (Proteção/Desproteção por Senha) | |
VBA – Trabalhando com Pastas de Trabalho (Objeto Workbook) | |
Matrizes | yes |
VBA – Objetos de Dicionário | |
VBA Excel – Coleções | |
VBA ArrayList – Mega Guia Atualizado para 2022 | |
VBA – Matriz dinâmica (Redim e Redim Preserve) | |
VBA – Declarar e Inicializar Matriz de Cadeia de Caracteres | |
VBA – Declarar (Dim), Criar e Inicializar uma Variável de Matriz | |
VBA – Comprimento/Tamanho da Matriz | |
VBA – Atribuir um Intervalo a uma Matriz | |
VBA – Limpar Matriz – Função Apagar | |
VBA Loop Através de uma Matriz / Percorrer Itens de uma Matriz | |
VBA – Classificar Matriz | |
VBA – Transpor Matriz | |
VBA – Procurar (Localizar) Valor em uma Matriz | |
VBA – Remover Duplicatas de uma Matriz | |
VBA – Função Retornar Matriz | |
VBA Arrays Multidimensionais (Arrays 2D) | |
VBA – Saída (Impressão) de Matriz para Intervalo | |
Erros | yes |
Excel VBA – Try Catch – Erros | |
VBA – Incompatibilidade de Tipos (Erro em Tempo de Execução 13) | |
VBA – Erro de Automação | |
VBA Erro 1004 – Erro Definido pelo Aplicativo ou pelo Objeto | |
VBA – Erro Memória Insuficiente | |
VBA – Erro de Compilação – É Impossível Localizar o Projeto ou a Biblioteca | |
Erro de Compilação em Módulo Oculto – VBA | |
Corrigir Erro 438 do VBA – O Objeto Não Aceita Essa Propriedade ou Método | |
Variáveis | yes |
VBA – Determinar o Tipo Básico de uma Variável | |
VBA – Variáveis de Matriz | |
VBA – Tipo de Dados Booleanos (Dim Variable) | |
VBA – Expressão Constante Obrigatória | |
VBA – Resumo dos Tipos de Dados – Variáveis e Constantes | |
VBA – Variável de Data | |
VBA – Tipo de dados Double (Dim Variable) | |
VBA – Variável Global | |
VBA – Tipo de Dados Int / Integer (Dim Variable) | |
VBA – Tipo de Dados Long (Dim Variável) | |
VBA – Variável Pública – Utilizar uma Variável em Vários Módulos ou Subs | |
VBA – Variáveis de Objeto de Intervalo (Dim / Set Range) | |
VBA – Definir Variáveis de Objeto – Pastas de Trabalho, Planilhas e Muito Mais | |
VBA – Tipo de Dados Single (Dim Variavel) | |
VBA – Tipo de Dados String (Dim Variable) | |
VBA – Tipo de Dados Variant (Dim Variavel) | |
Configurações | yes |
VBA – Impedir Mensagens de Aviso de uma Macro | |
VBA – Desligar (ou Ligar) os Cálculos Automáticos | |
VBA – Desativar (ou Ativar) a Barra de Fórmulas | |
VBA – Desligar Atualização de Tela | |
VBA – Ativar ou Desativar as Barras de Rolagem | |
Textos e Strings | yes |
Excel VBA – Dividir uma Cadeia de Caracteres em Células | |
Impedir que o VBA Diferencie Maiúsculas de Minúsculas – Option Compare Text | |
| |
VBA – Forçar Automaticamente Letras Maiúsculas, Minúsculas ou Primeiras Maiúsculas | |
VBA – Quebra de Linha ou Avanço de Linha em uma Caixa de Mensagem | |
VBA – Fazer um Loop Numa Cadeia de Caracteres | |
VBA – Remover Caracteres do Lado Esquerdo ou Direito de uma String de Comprimento Variável | |
Comparação de strings em VBA – StrComp | |
VBA – Diferente de, Maior que, Igual a e Outros Operadores de Comparação | |
VBA Converter Integer (Número) em String | |
VBA Função CDate – Converter Texto em Dados | |
Converter String (Texto) para Número no VBA | |
VBA INSTR – Localizar Texto em uma String | |
VBA – Operador Like | |
VBA – Operadores Lógicos – OR, AND, XOR, NOT, IS e LIKE | |
VBA Nova Linha / Retorno de Carro | |
VBA Função Space – Adicionar Espaços a uma Cadeia de Caracteres | |
VBA Funções de Texto | |
VBA – Texto para Colunas | |
VBA – Funções Trim, LTrim e RTrim – Remover Espaços do Texto | |
VBA – Funções de Maiúsculas e Minúsculas | |
Visualizar | yes |
ActiveWindow.WindowState | |
VBA – Exibir em (ou Sair de) Tela Cheia | |
VBA – Ocultar o Excel (Todo o Aplicativo) | |
VBA – Modo de Visualização de Quebra de Página Ativado ou Desativado | |
VBA – Rolagem Vertical e Horizontal | |
VBA – Zoom – Ajustar Seleção | |
VBA – Aumentar e Diminuir o Zoom das Planilhas | |
Arquivos | yes |
Usando o FileSystemObject no Excel VBA | |
Mover Arquivos com FileSystemObject (MoveFile) do VBA | |
VBA – Conversor Excel em CSV (Arquivo de Texto Delimitado por Vírgulas) | |
VBA – Criar arquivo de texto com CreateTextFile | |
VBA – Exportar Intervalo para CSV (Arquivo de Texto Delimitado) | |
VBA – Testar se a Pasta de Trabalho Está Aberta pelo Nome da Pasta de Trabalho | |
VBA – Gravar em arquivo de texto | |
VBA Verificar se o Arquivo ou Pasta Existe | |
VBA – Combinar Vários Arquivos do Excel em uma Pasta de Trabalho | |
VBA – Copiar uma Pasta com CopyFolder (FSO) | |
VBA – Copiar Arquivo / Pasta de Trabalho | |
VBA – Excluir Arquivo / Pasta de Trabalho | |
VBA – Instrução FileCopy | |
VBA – Obter Nome do Arquivo com GetFileName (FSO) | |
VBA GetFolder & GetFile (Obter Propriedades de Arquivos e Pastas) | |
VBA – Lista de Arquivos na Pasta | |
VBA – Caixa de Diálogo Abrir Arquivo | |
VBA Renomear Arquivo | |
Formas, Gráficos, Objetos | yes |
VBA – Auto Filtro | |
VBA Guia para Gráficos e Diagramas | |
VBA – Guia para Tabelas Dinâmicas | |
VBA – Objetos | |
VBA – Criar um Gráfico de Barras | |
VBA – Desenhar Caixas de Forma Programática com Código | |
VBA Caixa de Listagem – Item Selecionado | |
VBA – Tabelas e ListObjects | |
Formatação | yes |
Uso da Formatação Condicional com o Excel VBA | |
VBA – Negrito | |
VBA – Bordas de Células | |
VBA Fonte da Célula – Mudar Cor, Tamanho, Estilo e Mais | |
VBA Centralizar Texto – Alinhamento de Células (Horizontal e Vertical) | |
VBA – Configuração de Exibição de Quebras de Página | |
VBA – Formatar Células | |
Dados do Formatar VBA | |
Eventos | yes |
Eventos do Excel VBA | |
VBA – Sair sem Prompt para Salvar | |
VBA – Forçar uma Pasta de Trabalho a Salvar Antes de Fechar | |
VBA – Executar uma Macro Quando o Excel Fechar – Auto_Close | |
VBA – Executar uma Macro Quando o Excel For Iniciado | |
VBA – Evento de Alteração de Planilha – Executar uma Macro Quando uma Célula é Alterada | |
UserForms, MsgBoxes & Controls | yes |
VBA – Caixa de Mensagens Sim Não (Msgbox) | |
VBA InputBox – Obter Entrada de um Usuário | |
Botão de Opção Excel VBA | |
VBA – Botão de Rotação Excel | |
VBA – Caixa de Seleção | |
VBA Caixa de Combinação | |
VBA Caixa de Listagem | |
VBA – Abrir ou Fechar UserForm | |
Formatação | yes |
Uso da Formatação Condicional com o Excel VBA | |
VBA – Negrito | |
VBA – Bordas de Células | |
VBA Fonte da Célula – Mudar Cor, Tamanho, Estilo e Mais | |
VBA Centralizar Texto – Alinhamento de Células (Horizontal e Vertical) | |
VBA – Configuração de Exibição de Quebras de Página | |
VBA – Formatar Células | |
Dados do Formatar VBA | |
Misc. | yes |
Excel VBA – Limpar Área de Transferência | |
Excel VBA – Pausa (Break/Stop) e Retomada de uma Macro | |
Excel VBA – Salvar Como (Imprimir) em PDF | |
Excel VBA: Lista de Códigos ColorIndex e Cores RGB | |
Excel VBA – Formatação de Números | |
Como Instalar (ou Desinstalar) um Suplemento VBA (Arquivo .xlam) para o Microsoft Excel | |
Removendo Valores Duplicados no Excel com VBA | |
VBA – Adicionar ou Remover Comentários de Células | |
VBA – Obter a Data de Hoje (Data Atual) | |
VBA – Filtro de Tabela Dinâmica | |
VBA – Atualizar Tabela Dinâmica / Todas as Tabelas Dinâmicas | |
VBA – Uso do Goal Seek no VBA | |
VBA – Usando Ferramentas de Análise no VBA | |
VBA Application.CutCopyMode = False – O que é? | |
VBA Calculate – Agora, Pasta de Trabalho, Planilha ou Intervalo | |
VBA – Chamar/Executar uma Sub a Partir de Outra Sub | |
VBA Copiar para a Área de Transferência | |
VBA Localizar Valor na Coluna | |
VBA – GoTo: Ir para um Rótulo de Linha | |
VBA – Função IIF | |
VBA – Instrução Line Input | |
VBA – Múltiplas Instruções If (Aninhadas) | |
VBA – Solver | |
VBA – Funções Wait e Sleep – Código VBA de Pausa/Atraso | |
Qual é a diferença entre VB e VBA? | |
VBA – Verificar Ortografia | |
VBA – Desativar AutoFiltro / Limpar Filtros | |
VBA – Lista Suspensa (Validação de Dados) | |
VBA – Hiperlinks | |
VBA – Número Aleatório | |
Funções | yes |
Função Verificar se a Planilha e/ou o Intervalo Existe | |
Função IsEmpty no VBA | |
Uso de Isnumeric e Isnumber no VBA | |
VBA – Comparar dados | |
VBA – Função Abs | |
VBA Média – AVERAGE, AVERAGEA, AVERAGEIF | |
VBA COUNT (Função Contar) | |
Funções COUNTIF e COUNTIFS no VBA | |
Funções de dados em VBA | |
VBA – Função DateAdd | |
VBA – Função DateDiff | |
VBA – Funções de Ambiente | |
VBA – Função EOF | |
VBA – Função FileDateTime | |
VBA – Filtrar matrizes | |
VBA – Função Format | |
Função VBA para Mostrar a Fórmula da Célula | |
VBA – Lista de funções | |
VBA – Função InStrRev – Localizar Texto a Partir da Direita | |
VBA – Função Join | |
VBA – Função Len – Obter o Comprimento da Cadeia de Caracteres | |
| |
VBA – Instrução MkDir | |
VBA – Declaração de Impressão (Print) | |
| |
Funções Round, RoundUp e RoundDown em VBA | |
VBA – Função Split – Dividir uma Sequência de Caracteres de Texto em uma Matriz | |
Função Sum (Somar Intervalos, Colunas & Mais) em VBA | |
Funções SOMASE e SOMASES no VBA | |
VBA – Funções UBound e LBound | |
Vlookup – Múltiplos Resultados com VBA | |
Programação Avançada | yes |
VBA – Exemplos Avançados de Programação | |
VBA – Vinculação Antecipada e Tardia | |
VBA – Tutorial e Exemplos de Módulo de Classe | |
VBA – Matriz – Criar e Muito Mais | |
VBA – Expressões Regulares (Regex) | |
VBA – SendKeys – Enviar Pressionamentos de Teclas | |
VBA – Função Timer | |
Internet | yes |
Automatização do Internet Explorer (IE) usando VBA | |
VBA – WinHttpRequest com Login e Senha – Misc Bloglines | |
VBA – Enviar e-mails do Excel pelo Gmail | |
VBA Enviar e-mails do Excel para o Outlook | |
Acesso | yes |
Palavra | yes |
Exemplos de Macro Excel
Abaixo você encontrará uma lista de exemplos básicos de macro para tarefas comuns de automação do Excel.
Copiar e Colar uma Linha de uma Planilha Para Outra
Esta macro super simples copiará uma linha de uma planilha para outra.
Sub Colar_UmaLinha()
'Copiar e Colar Linha
Sheets("Planilha1").Range("1:1").Copy Sheets("Planilha2").Range("1:1")
Application.CutCopyMode = False
End Sub
Enviar E-mail
Esta macro útil iniciará o Outlook, redigirá um e-mail e anexará o ActiveWorkbook.
Sub Enviar_Mail()
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.to = "test@test.com"
.Subject = "Email de Teste"
.Body = "Corpo da Mensagem"
.Attachments.Add ActiveWorkbook.FullName
.Display
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Listar Todas as Planilhas do Arquivo
Esta macro listará todas as planilhas em um arquivo.
Sub ListarPlanilhas()
Dim ws As Worksheet
Dim x As Integer
x = 1
ActiveSheet.Range("A:A").Clear
For Each ws In Worksheets
ActiveSheet.Cells(x, 1) = ws.Name
x = x + 1
Next ws
End Sub
Reexibir Todas as Planilhas
Esta macro irá reexibir todas as planilhas.
' Reexibe Todas as Planilhas
Sub ReexibirTodasPlanilhas()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Visible = xlSheetVisible
Next ws
End Sub
Ocultar Todas as Planilhas, exceto a Ativa
Esta macro ocultará todas as planilhas, exceto a planilha ativa.
' Oculta todas as planilhas exceto a planilha ativa
Sub OcultarTodasExcetoPlanilhaAtiva()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> ActiveSheet.Name Then ws.Visible = xlSheetHidden
Next ws
End Sub
Desproteger Todas as Planilhas
Este macro exemplo desprotegerá todas as planilhas de um arquivo.
' Desprotege todas as planilhas
Sub DesprotegerTodasPlanilhas()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Unprotect "senha"
Next ws
End Sub
Proteger Todas as Planilhas
Esta macro protegerá todas as planilhas de um arquivo.
' Protege todas as planilhas
Sub ProtegerTodasPlanilhas()
Dim ws As Worksheet
For Each ws In Worksheets
ws.protect "senha"
Next ws
End Sub
Apagar Todas as Formas
Esta macro excluirá todas os formas em uma planilha.
Sub ApagarTodasFormas()
Dim ObterForma As Shape
For Each ObterForma In ActiveSheet.Shapes
ObterForma.Delete
Next
End Sub
Excluir Todas as Linhas em Branco da Planilha
Este macro exemplo eliminará todas as linhas em branco de uma planilha.
Sub ApagarLinhasEmBranco()
Dim x As Long
With ActiveSheet
For x = .Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If WorksheetFunction.CountA(.Rows(x)) = 0 Then
ActiveSheet.Rows(x).Delete
End If
Next
End With
End Sub
Destacar Valores Duplicados na Seleção
Use esta macro simples para destacar todos os valores duplicados em uma seleção.
' Destacar Valores Duplicados na Seleção
Sub DestacarValoresDuplicados()
Dim MeuIntervalo As Range
Dim Celula As Range
Set MeuIntervalo = Selection
For Each Celula In MeuIntervalo
If WorksheetFunction.CountIf(MeuIntervalo, Celula.Value) > 1 Then
Celula.Interior.ColorIndex = 36
End If
Next Celula
End Sub
Destacar Números Negativos
Esta macro automatiza a tarefa de destacar números negativos.
' Destacar Números Negativos
Sub DestacarNumerosNegativos()
Dim MeuIntervalo As Range
Dim Celula As Range
Set MeuIntervalo = Selection
For Each Celula In MeuIntervalo
If Celula.Value < 0 Then
Celula.Interior.ColorIndex = 36
End If
Next Celula
End Sub
Destacar Linhas Alternadas
Esta macro é útil para destacar linhas alternadamente.
' Destacar linhas alternadas
Sub DestacarLinhasAlternadas()
Dim Celula As Range
Dim MeuIntervalo As Range
Set MeuIntervalo = Selection
For Each Celula In MeuIntervalo.Rows
If Celula.Row Mod 2 = 1 Then
Celula.Interior.ColorIndex = 36
End If
Next Celula
End Sub
Destacar as Células em Branco na Seleção
Esta macro básica destaca as células em branco em uma seleção.
' Destacar todas as células em branco na seleção
Sub DestacarCelulasEmBranco()
Dim rng As Range
Set rng = Selection
rng.SpecialCells(xlCellTypeBlanks).Interior.Color = vbCyan
End Sub
Exemplos de Macros Excel VBA – Download gratuito
Criamos um suplemento gratuito de Exemplos de Códigos VBA (Macros). O add-in contém mais de 100 exemplos de macro prontos para uso, incluindo os exemplos de macro acima!
Página de download
Excel Macro / VBA FAQs
Como escrever código VBA (Macros) em Excel?
Para escrever código VBA no Excel, abra o Editor VBA (ALT + F11). Digite “Sub HelloWorld”, pressione Enter, e você criou uma Macro! OU Copie e cole um dos procedimentos listados nesta página na janela de código.
O que é Excel VBA?
VBA é a linguagem de programação usada para automatizar o Excel.
Como usar VBA para automatizar o Excel?
Você usa VBA para automatizar o Excel ao criar Macros. Macros são blocos de código que completam certas tarefas.
Pratique o VBA
Você pode praticar VBA com nosso tutorial de VBA interativo.