Plano de Curso: Lógica de Programação & Automação com VBA
Público-alvo: Estudantes dos Cursos Técnicos em Administração, Logística, Informática e profissionais de Finanças e Engenharia.
Carga Horária: 20 Capítulos de Laboratório (40 a 60 horas-aula).
Metodologia: Aprendizagem Baseada em Problemas (PBL) com estudos de caso corporativos da transportadora fictícia FastLog S.A., culminando na criação do robô corporativo FastLog RPA Enterprise 1.0.
🎯 Visão Geral e Competências Desenvolvidas
Este curso foi estruturado para desenvolver o pensamento algorítmico e a automação robótica de processos (Office RPA), capacitando o estudante a construir ferramentas corporativas de alta performance diretamente no ambiente Microsoft Excel/VBA.
Ao final do curso, o aluno será capaz de:
- Navegar e dominar o ambiente VBE (Visual Basic Editor), estruturando módulos, sub-rotinas e funções.
- Aplicar tipagem estática rigorosa (
Option Explicit,Dim) e depurar scripts linha a linha com a teclaF8. - Manipular o Modelo de Objetos do Excel (Application, Workbooks, Worksheets, Range, Cells) sem comandos de seleção.
- Construir algoritmos de alta velocidade usando varredura inversa (
Step -1) e coleções (For Each). - Processar grandes volumes de dados na memória RAM usando vetores dinâmicos e matrizes bidimensionais.
- Desenvolver funções personalizadas de planilha (UDFs) e formulários gráficos desktop profissionais (UserForms).
- Automatizar fluxos orientados a eventos (
Worksheet_Change,Workbook_Open) com tratamento de exceções (On Error GoTo). - Integrar o Excel a arquivos do sistema operacional (
FileSystemObject), e-mails corporativos (Outlook) e bancos de dados relacionais (Access via ADODB/SQL).
📚 Estrutura Programática Detalhada
🧱 Módulo 1: O Ambiente VBE, Modelo de Objetos & Fundamentos do VBA (Cap. 01 a 04)
Capítulo 01: Introdução ao VBA, Ambiente VBE e o Gravador de Macros
- Teoria: O que é o Visual Basic for Applications; diferença entre macro gravada e código programado; o ambiente VBE (
Alt + F11); Janela de Projeto e Janela de Propriedades; a extensão.xlsme políticas de segurança de macros. - Prática (Atividade 01): Configuração da guia Desenvolvedor; gravação de macro de limpeza e formatação de relatório bruto exportado do ERP; análise crítica do código gerado e eliminação de comandos desnecessários (
SelecteSelection). - Elemento no Projeto: Módulo de higienização de dados de entrada da FastLog.
Capítulo 02: Tipagem Estática, Declaração Rigorosa (Dim) e Operadores
- Teoria: A diretiva de ouro
Option Explicit; declaração de variáveis comDim; tabela de tipos primitivos (Long,Double,String,Boolean,Date,Currency); constantes (Const); operadores matemáticos (\,Mod,^) e de concatenação (&). - Prática (Atividade 02): Script de cálculo do frete unitário e custos de seguro de carga com variáveis tipadas; uso da Janela de Verificação Imediata (
Ctrl + G) e depuração linha a linha comF8. - Elemento no Projeto: Módulo de cálculo matemático de tarifas.
Capítulo 03: O Modelo de Objetos do Excel (Application, Workbook, Worksheet, Range)
- Teoria: Hierarquia de objetos corporativos; a tríade: Objetos, Propriedades e Métodos; referenciando células por coordenada com
Range("A1")versus notação matricial comCells(linha, coluna). - Prática (Atividade 03): Script que cria uma nova aba na pasta de trabalho, renomeia dinamicamente, formata bordas, define cores de preenchimento (
Color = RGB(...)) e insere dados sem selecionar a tela. - Elemento no Projeto: Construtor automático de abas de expedição.
Capítulo 04: Interação com o Usuário e Sanitização de Strings
- Teoria: Caixas de diálogo
MsgBox(botões Sim/Não, ícones de alerta e captura de respostasvbYesNo) eInputBox; funções de texto nativas do VBA (UCase,LCase,Trim,Left,Right,Mid,InStr,Len). - Prática (Atividade 04): Assistente interativo de cadastro rápido de motoristas que solicita dados via
InputBox, sanitiza espaços duplos e formata o CPF/CNPJ antes de gravar na planilha. - Elemento no Projeto: Validador e coletor de dados operacionais.
⚙️ Módulo 2: Estruturas de Decisão, Laços e Varredura de Alta Velocidade (Cap. 05 a 08)
Capítulo 05: Estruturas Condicionais Complexas (If...Then...Else e Select Case)
- Teoria: Bifurcações lógicas;
If...Then...ElseIf...End If; operadores lógicos (And,Or,Not); a estrutura de escolha múltiplaSelect Casepara classificação de categorias e rotas. - Prática (Atividade 05): Algoritmo classificador de prioridade de despacho aduaneiro (Carga Perigosa, Refrigerada, Frágil ou Padrão) com validação de limites de velocidade de frotas.
- Elemento no Projeto: Motor de regras de transporte da FastLog.
Capítulo 06: Laços Determinísticos (For...Next) e Varredura Reversa (Step -1)
- Teoria: Repetições finitas com contador; a cláusula
Step; o algoritmo crítico da varredura inversa (Step -1) para exclusão de linhas na planilha sem corrupção de índices. - Prática (Atividade 06): Robô de auditoria que percorre 500 linhas de fretes da filial, calcula juros por dia de atraso e elimina automaticamente pedidos cancelados usando
Step -1. - Elemento no Projeto: Motor de varredura e limpeza da base de fretes.
Capítulo 07: Laços Condicionais (Do While / Do Until) e Encontrando a Última Linha
- Teoria: Repetições baseadas em sentenças booleanas; o algoritmo universal de cálculo da última linha preenchida na planilha:
UltimaLinha = Cells(Rows.Count, "A").End(xlUp).Row. - Prática (Atividade 07): Script de importação contínua de registros que lê dados até encontrar uma célula vazia, apurando o saldo acumulado de pagamentos.
- Elemento no Projeto: Leitor automático de extratos bancários.
Capítulo 08: Coleções de Objetos (For Each) e Otimização de Performance
- Teoria: Iterando sobre conjuntos de objetos (
For Each ws In Worksheets,For Each cel In Range); técnicas de congelamento de tela para ganho de performance:Application.ScreenUpdating = False,Calculation = xlCalculationManual. - Prática (Atividade 08): Macro ultra-rápida que padroniza o cabeçalho e protege com senha todas as 15 abas da pasta de trabalho em menos de 1 segundo.
- Elemento no Projeto: Otimizador global e gestor de abas corporativas.
📊 Módulo 3: Vetores em Memória, Funções Personalizadas e Modularização (Cap. 09 a 12)
Capítulo 09: Vetores Unidimensionais Dinâmicos (ReDim, Preserve, UBound)
- Teoria: Processamento de dados na memória RAM sem ler e escrever constantemente na planilha (aumento de 100x na velocidade); vetores estáticos vs. dinâmicos; as funções
LBound,UBounde o comandoReDim Preserve. - Prática (Atividade 09): Armazenamento em vetor dos códigos de rastreamento pendentes, filtrando na memória apenas as carretas retidas em posto fiscal.
- Elemento no Projeto: Gerenciador de fila de cargas prioritárias.
Capítulo 10: Matrizes Bidimensionais em Memória para Big Data no Excel
- Teoria: Carregando uma planilha inteira para uma matriz em memória com uma única linha:
matriz = Range("A1:G10000").Value; iterando linhas e colunas na memória RAM; descarregando o resultado de volta na planilha em bloco. - Prática (Atividade 10): Algoritmo que processa 20.000 movimentações de combustível de frota em 0,3 segundos, calculando médias e divergências de consumo.
- Elemento no Projeto: Processador de dados em lote de alta performance.
Capítulo 11: Modularização Profissional: Passagem de Parâmetros (ByVal e ByRef)
- Teoria: Boas práticas de arquitetura de software; decomposição de macros gigantes em procedimentos reutilizáveis; passagem de parâmetros por valor (
ByVal) protegendo o dado original versus referência (ByRef). - Prática (Atividade 11): Criação de uma biblioteca de procedimentos modulares:
FormatarTabela(),RegistrarLog()eExportarPDF(), reutilizadas por todo o sistema. - Elemento no Projeto: Biblioteca de utilitários centrais da FastLog.
Capítulo 12: Criação de Funções Personalizadas de Planilha (UDFs)
- Teoria: Como criar fórmulas exclusivas com
Function ... End Function; diferença entreSub(executa ações) eFunction(retorna valores); tornando a UDF visível no catálogo de fórmulas do Excel. - Prática (Atividade 12): Criação da função
=CALCULARFRETE(distancia; peso; tipoCarga)e da função=VALIDARCNPJ(cnpj)utilizáveis diretamente nas células da planilha. - Elemento no Projeto: Funções de cálculo customizadas para a equipe administrativa.
🖥️ Módulo 4: Formulários Gráficos (UserForms) e Eventos Automatizados (Cap. 13 a 16)
Capítulo 13: Interface Gráfica Corporativa: Construção de UserForms
- Teoria: O conceito de telas no VBA (UserForms); Caixa de Ferramentas (Toolbox); Controles básicos: Rótulos (Label), Caixas de Texto (TextBox) e Botões de Comando (CommandButton); alinhamento e tabulação (TabIndex).
- Prática (Atividade 13): Desenvolvimento da janela gráfica de Cadastro de Fretes e Cargas da FastLog, impedindo que o operador digite diretamente na planilha.
- Elemento no Projeto: Tela de entrada de dados do operador.
Capítulo 14: Controles Avançados: Listas Suspensas (ComboBox) e Painéis (ListBox)
- Teoria: Populando listas dinâmicas com métodos
.AddIteme.RowSource; caixas de seleção (CheckBox) e botões de opção (OptionButton); exibição de relatórios em tempo real dentro do UserForm comListBox. - Prática (Atividade 14): Formulário de despacho onde o operador seleciona o cliente em uma lista suspensa com auto-completar e visualiza os fretes recentes em uma tabela interna na janela.
- Elemento no Projeto: Console interativo de despacho.
Capítulo 15: Automação Orientada a Eventos de Planilha e Pasta de Trabalho
- Teoria: O que são eventos disparados por ações do usuário; o objeto
ThisWorkbooke eventosWorkbook_Open,Workbook_BeforeSave; o evento de alteração de célulasWorksheet_Changecom o argumentoTarget. - Prática (Atividade 15): Programação de rotina que: (1) ao abrir a pasta, exibe mensagem com resumo de contas a pagar do dia; (2) ao digitar um código de cliente em qualquer célula, preenche automaticamente os dados cadastrais.
- Elemento no Projeto: Gatilhos reativos e automáticos do sistema.
Capítulo 16: Tratamento Robusto de Exceções e Auditoria de Erros
- Teoria: Por que sistemas quebram; a instrução
On Error GoTo Rotina_Erro; a instruçãoOn Error Resume Next(quando e como usar com segurança); o objetoErr(Err.Number,Err.Description); gravação de arquivos de log de auditoria em disco. - Prática (Atividade 16): Blindagem completa de uma macro contra arquivos inexistentes, divisões por zero e campos em branco, registrando incidentes em arquivo
.txtoculto. - Elemento no Projeto: Módulo de segurança operacional e resiliência a falhas.
🌐 Módulo 5: Interoperabilidade do Office, Banco de Dados e Projeto Final (Cap. 17 a 20)
Capítulo 17: Manipulação de Arquivos e Pastas do Windows via FileSystemObject
- Teoria: A biblioteca do Windows
Scripting.FileSystemObject(FSO); verificação de pastas e arquivos (FolderExists,FileExists); criação de arquivos de texto.csve.txtvia código VBA (CreateTextFile,WriteLine). - Prática (Atividade 17): Robô que cria automaticamente pastas nomeadas por Ano/Mês no disco
C:\e exporta o espelho das ordens de frete em formato CSV padronizado para a Receita Federal. - Elemento no Projeto: Exportador de arquivos e integrador com o sistema de arquivos.
Capítulo 18: Automação Integrada com Microsoft Outlook (Disparo em Lote)
- Teoria: O conceito de Interop (comunicação entre softwares do pacote Office); a biblioteca
Outlook.Application; criação de mensagensMailItem; formatação de e-mails em HTML (.HTMLBody) e anexo automático de relatórios em PDF gerados pelo Excel (.Attachments.Add). - Prática (Atividade 18): Robô de faturamento que gera faturas em PDF individuais para cada cliente da planilha e dispara os e-mails personalizados automaticamente pelo Outlook em lote.
- Elemento no Projeto: Robô de cobrança e notificação automatizada da FastLog.
Capítulo 19: Conexão Direta com Banco de Dados Relacional via ADODB e SQL
- Teoria: Superando as limitações do Excel; a biblioteca Microsoft ActiveX Data Objects (
ADODB); abrindo conexões com bancos de dados (ADODB.Connection) com bancos Access (.accdb) ou SQL Server; executando comandosSELECT,INSERTeUPDATEvia VBA. - Prática (Atividade 19): Script no Excel que se conecta ao arquivo
SIG_FastLog_Dados.accdb(criado nas aulas de SGBD), busca todas as peças abaixo do estoque mínimo e preenche a planilha instantaneamente viaCopyFromRecordset. - Elemento no Projeto: Conector do Excel ao Banco de Dados do SIG.
Capítulo 20: Projeto Integrador Final: Robô Corporativo FastLog RPA Enterprise 1.0
- Teoria: Automação Robótica de Processos (RPA); arquitetura de um robô corporativo completo; checklist de auditoria de código, homologação e distribuição com atalhos de teclado e fita de opções (Ribbon Customization).
- Prática (Atividade 20): Entrega do sistema unificado: UserForm de entrada ➔ Validação de regras de negócio ➔ Persistência no banco Access via ADODB ➔ Emissão do comprovante de despacho em PDF ➔ Disparo de e-mail ao cliente via Outlook ➔ Atualização em tempo real do Dashboard executivo com uma única instrução!
- Elemento no Projeto: Go-Live e certificação do Robô de Gestão e Automação da FastLog.