O que é VBA e para que serve na engenharia?
VBA é o Visual Basic for Applications, linguagem embutida nos programas do Office que a Microsoft define como forma de estender esses aplicativos. Na engenharia serve para automatizar planilha de cálculo repetitiva, criar funções que o Excel não tem e rodar rotinas no AutoCAD. Ele continua suportado — o que está sendo aposentado é o VBScript, que é outra coisa.
Essa última frase resolve a confusão mais comum sobre o assunto hoje, e vale separar as duas coisas desde já: VBA e VBScript são tecnologias diferentes. O VBScript está sendo desativado no Windows em fases; o VBA segue plenamente suportado pela Microsoft. Confundir os dois tem levado gente a abandonar uma competência que continua válida.
O que é o VBA e para que serve?
É a linguagem de programação embutida nos aplicativos do Office. A documentação da Microsoft a descreve como “uma linguagem de programação simples, mas poderosa, que você pode usar para estender aplicativos do Office”, disponível em Word, Excel, PowerPoint e Outlook.
Uma macro é um conjunto de instruções em VBA que pode ser executado repetidamente. A frase que a própria Microsoft usa resume a proposta: se pode ser feito uma vez com VBA, pode ser feito com a mesma facilidade cem vezes.
A fabricante indica três situações em que o VBA compensa:
- Automação e repetição — tarefas refeitas dez, vinte vezes ou mais; formatação e correções repetitivas; alterações aplicadas a vários documentos ou tabelas.
- Extensão da interação com o usuário — quando você precisa que alguém interaja com o arquivo de um jeito específico, como disparar uma ação ao abrir, salvar ou imprimir.
- Interação entre aplicativos do Office — mover dados entre Excel, Word, PowerPoint e Outlook, ou alterar o conteúdo de um a partir do outro.
Quem usa VBA na engenharia, e para quê?
Quem tem uma tarefa de cálculo ou documentação que se repete com estrutura fixa. Na prática, quatro usos concentram quase tudo:
- Memória de cálculo repetitiva. Verificação de perfil, dimensionamento de peça padronizada, checagem de série de elementos — o cálculo é o mesmo, mudam os dados de entrada.
- Conferência e tratamento de dados de campo. Medição, apropriação de mão de obra e apontamento chegam em formato irregular; a macro padroniza antes da análise.
- Funções personalizadas. Fórmulas que o Excel não tem nativamente e que são específicas da sua disciplina, criadas como função e usadas na célula como qualquer outra.
- Rotinas no AutoCAD. Renomear camadas em lote, inserir blocos padronizados, extrair atributos para planilha.
O critério de decisão é quantitativo, não estético: se a tarefa acontece uma vez, fazer na mão é mais rápido. A partir de dez ou vinte repetições — o número que a própria Microsoft usa como referência —, o tempo investido em automatizar volta.
Vale o alerta que a documentação oficial faz e que quase nenhum tutorial repete: antes de programar, verifique se um recurso nativo já resolve. Estilos, atalhos, modelos e o próprio CTRL+Y de repetir a última ação resolvem uma parte grande do que as pessoas tentam automatizar. E programar exige foco e tempo, com resultado imprevisível — não é a saída para quem está com prazo apertado hoje.
Quais são os requisitos para usar VBA?
| Requisito | Situação |
|---|---|
| Excel para Windows ou Mac | VBA roda nas versões desktop |
| Excel na web | Não suporta macros VBA |
| Power Automate | Não executa VBA |
| Guia Desenvolvedor | Precisa ser habilitada, não vem visível por padrão |
| Arquivo | Precisa ser salvo em formato habilitado para macro |
| Segurança de macro | Padrão desabilita macros com notificação |
| AutoCAD | VBA 7.1 é suportado, mas não vem na instalação padrão |
Dois itens dessa tabela merecem explicação.
O primeiro é a segurança. Segundo a página oficial de configurações de macro, o Excel oferece cinco opções na Central de Confiabilidade, e o padrão é “desabilitar todos os macros com notificação” — você recebe o aviso e decide. Ativar todos os macros é classificado pela Microsoft como não recomendado, porque permite a execução de código potencialmente perigoso. A saída correta para arquivos próprios é o local confiável: documento salvo ali executa sem passar pela verificação.
O segundo é o AutoCAD, e essa é a pegadinha que trava mais gente. A Autodesk registra que o VBA 7.1 é suportado nos produtos da empresa, mas não faz mais parte da instalação padrão do AutoCAD e precisa ser baixado e instalado separadamente. Quem atualiza o AutoCAD e descobre que as macros pararam de funcionar quase sempre está diante disso, não de um erro no código.
Como criar uma macro em VBA passo a passo?
- Habilite a guia Desenvolvedor. Em Arquivo > Opções > Personalizar Faixa de Opções, marque a caixa Desenvolvedor e confirme em OK. Ela não aparece por padrão.
- Abra o Editor do Visual Basic. Na guia Desenvolvedor, clique em Visual Basic. É nele que o código é escrito e editado.
- Comece gravando, não escrevendo. Use Macros > Gravar Macro, execute a tarefa manualmente uma vez e pare a gravação. O Excel escreve o código correspondente.
- Leia o código gravado. Essa é a etapa que a maioria pula e é a que mais ensina: o gravador mostra qual objeto e qual propriedade correspondem a cada ação que você fez na tela.
- Limpe e generalize. Código gravado costuma vir cheio de seleção de célula e referência fixa. Substituir intervalo fixo por variável é o que transforma a gravação em macro reutilizável.
- Salve em formato habilitado para macro. Pasta de trabalho comum descarta o código ao salvar.
- Guarde o arquivo em local confiável se ele for de uso recorrente, para não depender de autorizar a execução toda vez.
- Teste com dado errado de propósito. Macro que só funciona com a planilha perfeita quebra no primeiro uso real.
Uma observação sobre ordem de aprendizado: automatizar planilha exige antes entender bem a planilha. Quem não domina referência, função de busca e tabela dinâmica tende a escrever macro para resolver problema que o Excel já resolve nativamente. O curso de Excel da Tesla Treinamentos cobre essa base do básico ao avançado.
Quais os erros mais comuns ao usar VBA?
- Perder o código ao salvar. Salvar em formato sem suporte a macro descarta o VBA sem aviso claro.
- Achar que a macro sumiu depois de atualizar o AutoCAD. Na maioria dos casos é o módulo VBA que não foi reinstalado.
- Usar código gravado sem limpar. Gravação depende de seleção e de posição; basta o usuário clicar em outra célula para o resultado mudar.
- Automatizar antes de padronizar. Macro sobre planilha desorganizada multiplica o erro em vez de eliminá-lo.
- Habilitar todos os macros para resolver bloqueio. É a opção que a Microsoft desaconselha explicitamente; local confiável resolve sem abrir a máquina.
- Escrever macro para tarefa de uma vez só. O retorno vem da repetição, e sem ela o investimento é negativo.
- Deixar a planilha sem documentação. Macro sem comentário vira caixa-preta que ninguém mais na equipe consegue manter.
O VBA vai ser descontinuado?
Não. E aqui é onde a informação circulando erra o alvo.
A documentação da Microsoft que compara Office Scripts e VBA registra que o VBA continua suportado e recomendado para soluções centradas no desktop, enquanto o Office Scripts é a indicação para automação multiplataforma e integrada à nuvem. São posicionamentos distintos, não substituição.
A comparação oficial ajuda a entender o que cada um dá e o que tira:
| Aspecto | VBA | Office Scripts |
|---|---|---|
| Excel na web | Não | Sim |
| Power Automate | Não | Sim |
| Eventos | Suportados | Não suportados |
| Cobertura de recursos do Excel | Mais completa no desktop | Cerca de 90% |
| Escopo de acesso | Acesso total ao desktop | Restrito à pasta de trabalho |
| Licença | Nenhuma, embutido no Excel desktop | Exige licença corporativa ou educacional |
O que de fato está sendo aposentado é o VBScript, componente do Windows. Segundo o blog de desenvolvimento da Microsoft 365, o VBA continua funcionando; o que muda é o uso de dois recursos: execução de arquivos .vbs externos a partir do VBA e referência a bibliotecas do VBScript, como o VBScript.RegExp usado para expressões regulares.
O cronograma tem três fases: o VBScript permanece habilitado por padrão até por volta de 2026 e 2027; em seguida passa a vir desabilitado por padrão; e a remoção completa do Windows ainda não tem data. A Microsoft já resolveu o caso mais comum — a partir da versão 2508 do Office, classes de expressão regular passaram a existir dentro do próprio VBA, dispensando a dependência externa.
Quando usar VBA e quando usar outra ferramenta?
- Use VBA quando a tarefa é repetitiva, vive dentro do Excel ou do AutoCAD no desktop e precisa reagir a eventos, como abrir ou salvar um arquivo. É a opção sem custo adicional e sem dependência de licença extra.
- Use Office Scripts quando a automação precisa rodar no Excel na web ou entrar em um fluxo do Power Automate — territórios em que o VBA simplesmente não opera.
- Use recurso nativo quando ele existir. Tabela dinâmica, Power Query e fórmula resolvem boa parte do que se tenta automatizar, com manutenção muito menor.
- Use Python quando o problema deixa de ser automatizar planilha e passa a ser tratar volume de dados, integrar fontes diferentes ou aplicar cálculo mais pesado. É também a competência que se transfere para fora do Office.
Na prática, a sequência que rende mais em engenharia é conhecida: dominar o Excel a fundo, automatizar com VBA o que se repete, e migrar para Python quando o volume ou a integração pedirem. O curso de Python da Tesla Treinamentos tem 60 horas e é o passo seguinte para quem chegou ao limite da planilha.
Se o objetivo é montar a competência de dados inteira em vez de uma ferramenta só, o Combo Engenharia de Produção da Tesla Treinamentos reúne Excel, Power BI, Python, MS Project e Looker Studio, entre outros, com acesso vitalício e certificado em todos os cursos.
Fontes
- Getting started with VBA in Office (página consultada em 10 de agosto de 2026)
- Differences between Office Scripts and VBA macros (página consultada em 10 de agosto de 2026)
- Prepare your VBA projects for VBScript deprecation in Windows
- Change macro security settings in Excel (página consultada em 10 de agosto de 2026)
- VBA support for AutoCAD (página consultada em 10 de agosto de 2026)