Quase todo tutorial de macro no Excel termina no mesmo ponto: você grava, aperta o atalho e a tarefa de meia hora vira um segundo. Funciona. O problema aparece no dia seguinte, quando a planilha vai por e-mail para o colega e ele responde que "a macro não funciona aqui". Não há erro no código. O que mudou foi o caminho que o arquivo fez.
Este artigo cobre as duas metades. Primeiro, o que é macro, qual a diferença para VBA e como criar a sua passo a passo. Depois, a parte que os tutoriais pulam: por que o Office bloqueia a macro do arquivo baixado, como liberar sem abrir a porta para vírus, e qual é o limite que diz quando a automação deve sair da planilha. As regras de bloqueio citadas foram conferidas na documentação da Microsoft em 26/10/2026.
O que é macro no Excel e para que serve?
Macro é uma gravação de passos. Em vez de repetir toda semana os mesmos cliques (apagar colunas, aplicar filtro, formatar números, criar o total, salvar em PDF), você ensina o Excel uma vez e depois manda ele refazer tudo com um atalho de teclado ou um botão na planilha.
Por baixo, o Excel guarda esses passos como código em VBA (Visual Basic for Applications), a linguagem de automação que vem embutida nas versões de desktop do Office. Por isso a macro mora dentro do arquivo: ela viaja junto com a planilha.
Os usos mais comuns em empresa são tarefas repetitivas, com regra fixa e dentro de uma mesma pasta de trabalho:
- limpar e formatar a exportação que sai do sistema de vendas ou do ERP todo dia;
- consolidar várias abas, ou vários arquivos de filiais, numa base única;
- montar o relatório semanal com o mesmo layout, gráfico e filtros;
- gerar um PDF por cliente ou por vendedor a partir de uma lista;
- padronizar o cadastro: maiúsculas, CPF sem pontuação, datas no mesmo formato.
O denominador comum é que alguém abre a planilha e dispara a macro. Guarde essa frase, porque ela explica quase tudo o que vem depois.
Qual a diferença entre macro e VBA?
Na conversa do dia a dia os dois termos viram sinônimos, mas não são a mesma coisa. Macro é o programa; VBA é a linguagem em que ele está escrito. Quando você usa o gravador, o Excel escreve o VBA por você. Quando abre o editor e programa à mão, você escreve VBA diretamente e consegue coisas que o gravador não faz, como laços, condições e caixas de diálogo.
| Macro gravada | Macro escrita em VBA | |
|---|---|---|
| Quem escreve o código | O gravador do Excel, a partir dos seus cliques | Você, no editor do VBA |
| Precisa saber programar | Não | Sim, o básico de VBA |
| Decisões (se isso, faça aquilo) | Não grava condições | Sim, com If, laços e variáveis |
| Tamanho do arquivo de dados | Costuma depender de posições fixas de célula | Pode se adaptar ao número de linhas |
| Melhor uso | Rotina curta e sempre igual | Rotina com variação ou várias etapas |
| Onde fica | No arquivo .xlsm | No arquivo .xlsm |
Comparativo da Alliance Comunicação
Na prática, quase todo mundo começa gravando e, depois, abre o código gravado para ajustar um detalhe. É um bom jeito de aprender VBA sem partir da página em branco.
Como criar uma macro no Excel passo a passo?
O roteiro abaixo vale para o Excel para Windows e Mac, que são os únicos onde a macro VBA roda. Faça o primeiro teste numa cópia da planilha, nunca no arquivo original.
1. Ative a guia Desenvolvedor
Ela vem escondida. Vá em Arquivo > Opções > Personalizar Faixa de Opções e marque Desenvolvedor na lista da direita. A guia traz o gravador, o editor do VBA e os controles de formulário, como botões. Para só gravar, a guia Exibir também tem o menu Macros.
2. Grave os passos
Clique em Gravar Macro, dê um nome sem espaços (Formatar_Relatorio, por exemplo), escolha um atalho e onde guardar. A partir daí, tudo o que você fizer é registrado, inclusive os erros e os cliques à toa. Por isso, ensaie antes e grave a sequência limpa. Termine em Parar Gravação.
3. Decida entre referência absoluta e relativa
Por padrão, o gravador anota o endereço exato das células (A1, B2). Se a macro deve funcionar a partir de onde o cursor estiver, ligue Usar Referências Relativas antes de gravar. É a causa número um de macro que funciona no teste e erra no relatório da semana seguinte, que tinha mais linhas.
4. Salve como .xlsm
O formato padrão, .xlsx, não guarda macros. Ao salvar, escolha Pasta de Trabalho Habilitada para Macro do Excel (.xlsm). Se salvar como .xlsx, o Excel avisa que o código será descartado, e muita gente só percebe quando a macro some.
5. Revise o código e crie um botão
Com Alt+F11 você abre o editor do VBA e vê o que foi gravado. Vale apagar linhas inúteis, como seleções que não fazem nada. Depois, insira uma forma ou um botão na planilha e atribua a macro a ele: quem não conhece o atalho também consegue rodar.
Por que a macro funciona no seu computador e para no do colega?
No seu computador, o arquivo nasceu ali. Ele nunca passou pela internet, então o Windows não tem motivo para desconfiar dele. Quando você manda a planilha por e-mail, ou o colega baixa do navegador, o Windows grava no arquivo uma etiqueta invisível dizendo de onde ele veio. A Microsoft chama essa etiqueta de marca da Web (Mark of the Web).
É essa marca que o Office lê na hora de abrir. Arquivo com marca da Web e macro dentro cai na regra de bloqueio. Por isso o sintoma é tão confuso: o mesmo arquivo, com o mesmo código, roda num computador e não roda no outro. Também explica por que a macro "volta a funcionar" quando alguém copia a planilha por pen drive ou a abre direto da pasta sincronizada.
Segundo a documentação, a marca só é gravada em discos formatados em NTFS, que é o padrão do Windows, e vale para arquivos das zonas Internet ou Sites restritos. Uma pasta de rede acessada pelo endereço IP também pode ser tratada como internet e ter a macro bloqueada.
Por que o Excel está bloqueando macros de arquivos baixados?
Porque macro VBA virou uma das portas preferidas para golpes. A planilha com "nota fiscal" ou "boleto" anexada ao e-mail pedia para o usuário clicar em Habilitar conteúdo, e o código instalava o programa malicioso. A Microsoft cita textualmente esse risco, de malware e ransomware, como motivo da mudança.
Antes, o aviso amarelo de segurança trazia o botão Habilitar conteúdo, e um clique bastava. Agora aparece a faixa RISCO DE SEGURANÇA, e ela não oferece esse botão: só um link para saber mais. A decisão deixou de ser de um clique e passou a exigir que alguém, conscientemente, diga ao Windows que confia naquele arquivo.
O fluxograma resume a sequência que a Microsoft descreve. O Office pergunta primeiro se o arquivo está num Local Confiável; depois, se a macro tem assinatura digital de um editor cujo certificado está instalado no computador; em seguida, se a TI configurou alguma política. Só quando nada disso decide é que entra o bloqueio padrão.
Há uma exceção que confunde muita gente: se o arquivo já tinha virado Documento Confiável, porque alguém clicou em Habilitar conteúdo antes da mudança, a macro continua rodando. É por isso que planilhas antigas funcionam e a versão nova, recebida ontem, não.
Como desbloquear uma macro do Excel com segurança?
Antes de qualquer passo, a pergunta de segurança: você sabe quem fez a macro e esperava receber esse arquivo? Se a resposta for não, não desbloqueie. O bloqueio existe para esse caso. Se for sim, há três caminhos, do mais pontual ao mais estrutural.
1. Desbloquear um arquivo específico
Feche o Excel, clique com o botão direito no arquivo, vá em Propriedades > Geral, marque Desbloquear e confirme. Ao reabrir, a macro roda, desde que nenhuma política da empresa a bloqueie. Para a TI, o comando Unblock-File do PowerShell faz o mesmo em vários arquivos de uma vez.
2. Usar um Local Confiável
Se o mesmo tipo de arquivo chega toda semana, como o relatório que um sistema manda por e-mail, desbloquear um por um cansa. A alternativa é definir uma pasta como Local Confiável (em Arquivo > Opções > Central de Confiabilidade) e salvar ali só os arquivos dessa origem. A própria Microsoft recomenda usar com moderação: tudo o que cair nessa pasta roda sem pergunta.
3. Assinar a macro digitalmente
É o caminho de empresa. A macro é assinada com um certificado e a TI distribui esse certificado como editor confiável nos computadores. Qualquer macro assinada com ele roda; qualquer outra continua bloqueada. A Microsoft alerta que confiar num editor vale para o Windows inteiro, não só para o Office, e que, no caso de suplementos do Excel com marca da Web, a assinatura não resolve.
Para arquivos no OneDrive ou no SharePoint, há um atalho: abrir com Abrir no Aplicativo da Área de Trabalho em vez de baixar pelo navegador. Segundo a Microsoft, o arquivo aberto assim, ou baixado pelo cliente de sincronização do OneDrive, não recebe a marca da Web.
O que não fazer: mudar a Central de Confiabilidade para "Habilitar todas as macros". A Microsoft classifica essa opção como não recomendada, porque qualquer código passa a rodar, inclusive o do próximo anexo falso.
Macro funciona no Excel Online, no Google Sheets ou no LibreOffice?
Aqui está o segundo limite que os tutoriais não mencionam, e ele pesa mais à medida que a empresa trabalha no navegador e em arquivos compartilhados. A macro VBA é uma tecnologia de desktop.
| Onde a planilha é aberta | A macro VBA roda? | O que usar no lugar |
|---|---|---|
| Excel para Windows | Sim | A própria macro |
| Excel para Mac | Sim | A própria macro |
| Excel para a web (navegador, Teams) | Não | Office Scripts |
| Excel para iOS | Não | Rodar no desktop ou na web |
| Power Automate | Não, sem conector para VBA | Office Scripts chamado pelo fluxo |
| Google Planilhas | Não | Google Apps Script |
| LibreOffice Calc | Em parte; exige revisão do código | LibreOffice Basic |
Linhas do Excel e do Power Automate: Microsoft Learn. Google Planilhas e LibreOffice: Alliance Comunicação.
Quando a planilha .xlsm é aberta no Excel para a web, você consegue ver e editar os dados, mas não executar o código. No Google Planilhas, o equivalente da macro é escrito em Apps Script, uma linguagem baseada em JavaScript, e o código VBA não é convertido sozinho. No LibreOffice, parte do VBA roda, mas rotinas com objetos específicos do Excel costumam precisar de ajuste à mão.
A consequência prática: se a equipe passou a abrir as planilhas pelo Teams ou pelo navegador, a macro que funcionava "no Excel de antes" simplesmente deixou de existir para ela.
Quais os erros mais comuns com macro no Excel?
- Salvar como .xlsx. O código é descartado no salvamento, e a macro some sem deixar rastro.
- Gravar com referência absoluta uma rotina que depende do tamanho da base. Na semana com mais linhas, o total fica errado e ninguém percebe.
- Enviar a planilha por e-mail como se fosse um sistema. Cada destinatário recebe um arquivo bloqueado e uma cópia diferente dos dados.
- Liberar tudo na Central de Confiabilidade para "resolver" o bloqueio. Resolve o seu problema e cria o de segurança.
- Macro sem dono. Quem gravou saiu da empresa, ninguém sabe o que o código faz e o processo inteiro depende dele.
- Usar macro para o que é integração. Copiar dado de um sistema para outro todo dia, pela tela, é um processo que pede API ou fluxo, não planilha.
Os três últimos têm algo em comum: a macro está carregando um peso que não é de planilha. É o sinal de que vale olhar a automação como processo, e não como atalho.
Quando a automação deve sair da planilha?
A macro é ótima para o que acontece dentro de um arquivo, no computador de alguém, quando essa pessoa decide rodar. Quando qualquer uma dessas três condições deixa de valer, ela começa a atrapalhar. Os dois limites documentados pela Microsoft, o bloqueio do arquivo baixado e a ausência no Excel para a web e no Power Automate, apontam exatamente para essas fronteiras.
| Situação | Ferramenta mais adequada | Por quê |
|---|---|---|
| Uma pessoa formata o próprio relatório no desktop | Macro VBA | Roda localmente e não exige licença extra |
| A equipe edita a planilha no navegador ou no Teams | Office Scripts | Roda no Excel para a web, onde o VBA não roda |
| A tarefa deve rodar todo dia às 8h, sem ninguém abrir o Excel | Power Automate com Office Scripts | O fluxo agenda e chama o script |
| O dado vem de e-mail, formulário ou outro sistema | Power Automate ou integração | O gatilho está fora da planilha |
| Vários setores dependem do resultado e precisam de histórico | Sistema ou fluxo de trabalho dedicado | Controle de acesso, registro e dono do processo |
Plataformas e licenças: Microsoft Learn. Critério de escolha: Alliance Comunicação.
Um detalhe de segurança ajuda a entender a diferença de projeto. Segundo a Microsoft, a macro VBA tem a mesma permissão do Excel e, portanto, acesso amplo ao computador; o Office Script só enxerga a pasta de trabalho. É justamente esse acesso amplo que faz o Office tratar macro de origem desconhecida com tanta desconfiança.
Se o Microsoft 365 da empresa já inclui o Power Automate, parte dessa migração pode sair sem custo de licença nova. Vale ler o que entra e o que fica de fora em o que o Microsoft 365 já inclui no Power Automate. E, quando o problema já não é a macro, mas a planilha inteira servindo de sistema, o texto sobre quando o dashboard no Excel para de dar conta mostra os outros tetos.
Como saber se a macro está valendo a pena?
Automação boa é a que economiza mais tempo do que consome. Para não decidir no achismo, acompanhe cinco números simples durante um mês:
- Tempo manual evitado: quanto a tarefa levava à mão, vezes quantas vezes ela roda por mês.
- Tempo de manutenção: horas gastas ajustando a macro quando o layout da exportação mudou.
- Falhas: quantas vezes ela parou ou gerou resultado errado, e quem percebeu.
- Atrito de compartilhamento: quantas vezes alguém pediu ajuda porque a macro "não abriu".
- Dependência: quantas pessoas sabem mexer no código. Se a resposta é uma, o risco é alto.
Se manutenção, falhas e atrito somados se aproximam do tempo economizado, a macro deixou de ser atalho e virou dívida. É hora de redesenhar o processo.
O que muda para cada tipo de empresa?
Num escritório pequeno, com Microsoft 365 para empresas e duas ou três pessoas usando a mesma planilha, macro com Desbloquear ou uma pasta de Local Confiável costuma bastar. Vale saber que, segundo a Microsoft, as políticas centrais de macro só estão disponíveis no Microsoft 365 Apps for enterprise; no plano for business, a configuração fica no computador de cada um.
Em empresas médias e grandes, o caminho maduro é a TI assinar as macros que são do negócio, distribuir o certificado de editor confiável e manter o bloqueio para todo o resto, que é a linha de base de segurança recomendada pela própria Microsoft. As rotinas que envolvem vários setores, e-mail e sistemas costumam migrar para fluxos com dono, registro e monitoramento.
Em equipes que já trabalham no navegador, a pergunta muda: não é "como habilitar a macro", e sim "essa rotina deve ser um Office Script ou um fluxo". A macro continua útil no desktop de quem analisa dados, mas deixa de ser a peça central da operação.
Por onde começar hoje?
- Liste as planilhas com macro que a empresa usa e anote, para cada uma, quem dispara, de onde o arquivo vem e quem depende do resultado.
- Separe as que rodam só no desktop de uma pessoa das que circulam por e-mail, Teams ou SharePoint.
- Para as do primeiro grupo, mantenha a macro, salve em .xlsm e documente o que ela faz.
- Para as que circulam, troque o envio por e-mail pela abertura no aplicativo de desktop ou por uma pasta de Local Confiável controlada.
- Para as que precisam rodar sozinhas ou no navegador, avalie Office Scripts com Power Automate.
Se a lista mostrar que boa parte da operação depende de planilhas que só uma pessoa entende, o problema já é de processo. A Alliance desenha essa transição em automação de processos, do mapeamento ao fluxo em produção. E, para ver em que ponto o marketing e a operação da sua empresa estão, o diagnóstico de marketing gratuito leva cerca de 30 minutos e entrega um plano com prioridades.

