Como Excluir Estilos Indesejados com VBA no Excel

Aprenda como excluir estilos indesejados com VBA no Excel de forma automática e eficiente. Tutorial completo com códigos prontos, macros personalizadas e soluções para limpar estilos desnecessários que deixam sua planilha lenta e desorganizada.
Excluir estilos indesejados com VBA no Excel é uma necessidade comum para usuários que trabalham com planilhas importadas, copiadas de outras fontes ou que acumularam diversos estilos personalizados ao longo do tempo. Esses estilos desnecessários não apenas desorganizam o menu de formatação, mas também aumentam significativamente o tamanho do arquivo e podem deixar o Excel mais lento.
Quando você copia dados de outras planilhas ou da internet, o Excel automaticamente importa os estilos associados, criando uma lista cada vez maior de formatos que você nunca utilizará. Manualmente, seria extremamente trabalhoso excluir cada estilo individualmente, especialmente quando há dezenas ou centenas deles acumulados.
Este tutorial completo apresenta soluções práticas usando VBA (Visual Basic for Applications) para identificar, selecionar e excluir estilos indesejados de forma automática e eficiente. Você aprenderá desde códigos básicos até macros avançadas que preservam estilos essenciais do Excel enquanto removem apenas os personalizados, garantindo planilhas mais leves, organizadas e com melhor desempenho.
Índice
- Entendendo os Estilos no Excel e Seus Problemas
- Preparando o Ambiente VBA Para Exclusão de Estilos
- Código VBA Básico Para Listar Todos os Estilos
- Macro Para Excluir Todos os Estilos Personalizados
- Excluindo Estilos Específicos Por Nome
- Macro Avançada Com Proteção de Estilos Essenciais
- Criando Botão Para Executar a Macro Facilmente
- Tabela Comparativa de Métodos de Exclusão
- Resolvendo Erros Comuns na Exclusão de Estilos
- Automatizando a Limpeza de Estilos ao Abrir a Planilha
- Benefícios de Excluir Estilos Indesejados Regularmente
- Conclusão
- Perguntas Frequentes
- 1. É seguro excluir todos os estilos personalizados com VBA no Excel?
- 2. Como recuperar estilos excluídos acidentalmente com VBA?
- 3. Quantos estilos posso ter no Excel sem afetar o desempenho?
- 4. Posso executar estas macros em várias planilhas simultaneamente?
- 5. Por que alguns estilos não são excluídos mesmo com a macro?
Entendendo os Estilos no Excel e Seus Problemas

Os estilos no Excel são conjuntos predefinidos de formatação que incluem fonte, cor, bordas, preenchimento e formato de número. O programa vem com estilos padrão como "Normal", "Título", "Ênfase" e outros, mas também permite criar estilos personalizados. O problema surge quando planilhas acumulam centenas de estilos importados ou criados acidentalmente.
Cada vez que você copia conteúdo de outra fonte, o Excel traz consigo todos os estilos associados, mesmo que você não os utilize. Com o tempo, isso resulta em arquivos pesados, menus de estilo confusos e lentidão ao abrir ou salvar documentos. Além disso, alguns estilos podem causar conflitos de formatação e dificultar a padronização visual das planilhas.
Usar VBA para excluir estilos indesejados é a solução mais eficiente porque permite automatizar completamente o processo, eliminando dezenas ou centenas de estilos com um único clique, sem risco de erros manuais ou perda de tempo.
Preparando o Ambiente VBA Para Exclusão de Estilos
Antes de criar macros para excluir estilos indesejados com VBA no Excel, é necessário habilitar e configurar corretamente o ambiente de desenvolvimento. O editor VBA é onde você escreverá e executará os códigos que manipularão os estilos da sua planilha.
Passo a passo para acessar o editor VBA:
- Abra a planilha do Excel onde deseja excluir os estilos indesejados.
- Pressione Alt + F11 para abrir o editor VBA (Visual Basic for Applications).
- No editor, localize o painel "Projeto - VBAProject" no lado esquerdo da tela.
- Clique com o botão direito no nome da sua pasta de trabalho.
- Selecione Inserir e depois clique em Módulo para criar um novo módulo.
- Uma janela em branco aparecerá onde você digitará o código VBA.
- Certifique-se de que as macros estão habilitadas em Arquivo > Opções > Central de Confiabilidade > Configurações da Central de Confiabilidade > Configurações de Macro.
- Salve o arquivo como "Pasta de Trabalho Habilitada para Macro do Excel (.xlsm)" para preservar os códigos.
Código VBA Básico Para Listar Todos os Estilos
Antes de excluir estilos indesejados com VBA no Excel, é importante visualizar quais estilos existem na sua planilha. Este código simples cria uma lista completa de todos os estilos presentes, facilitando identificar quais devem ser removidos.
Macro para listar estilos existentes:
Sub ListarEstilos()
Dim est As Style
Dim i As Integer
i = 1
For Each est In ActiveWorkbook.Styles
Cells(i, 1).Value = est.Name
Cells(i, 2).Value = est.BuiltIn
i = i + 1
Next est
MsgBox "Total de estilos: " & ActiveWorkbook.Styles.Count
End Sub
Como usar este código:
- Cole o código no módulo VBA criado anteriormente.
- Pressione Alt + Q para retornar ao Excel.
- Pressione Alt + F8 para abrir a janela de macros.
- Selecione "ListarEstilos" na lista e clique em Executar.
- Os estilos serão listados na coluna A com seus nomes.
- A coluna B mostrará "True" para estilos nativos do Excel e "False" para personalizados.
- Analise a lista para identificar quais estilos são desnecessários.
Macro Para Excluir Todos os Estilos Personalizados
Este código é a solução mais direta para excluir estilos indesejados com VBA no Excel, removendo automaticamente todos os estilos que não são nativos do programa. É ideal quando você quer fazer uma limpeza completa mantendo apenas os estilos originais do Excel.
Código VBA para remover estilos personalizados:
Sub ExcluirEstilosPersonalizados()
Dim est As Style
Dim contadorExcluidos As Integer
contadorExcluidos = 0
On Error Resume Next
For Each est In ActiveWorkbook.Styles
If Not est.BuiltIn Then
est.Delete
contadorExcluidos = contadorExcluidos + 1
End If
Next est
On Error GoTo 0
MsgBox contadorExcluidos & " estilos personalizados foram excluídos com sucesso!", vbInformation
End Sub
Detalhes importantes do código:
- A instrução
On Error Resume Nextevita que a macro pare ao encontrar estilos em uso que não podem ser deletados. - A propriedade
BuiltInidentifica se o estilo é nativo (True) ou personalizado (False). - O contador registra quantos estilos foram efetivamente removidos.
- O comando
Deleteexclui permanentemente o estilo da pasta de trabalho. - A mensagem final informa o total de estilos excluídos para confirmação.
- Estilos em uso podem não ser deletados, o que é normal e esperado.
Excluindo Estilos Específicos Por Nome
Quando você precisa remover apenas determinados estilos indesejados com VBA no Excel, esta macro permite especificar exatamente quais estilos devem ser excluídos através de uma lista personalizada de nomes.
Macro para deletar estilos específicos:
Sub ExcluirEstilosEspecificos()
Dim estilosParaExcluir As Variant
Dim i As Integer
Dim est As Style
estilosParaExcluir = Array("Estilo1", "Estilo2", "Título 3", "Ênfase 2")
On Error Resume Next
For i = LBound(estilosParaExcluir) To UBound(estilosParaExcluir)
For Each est In ActiveWorkbook.Styles
If est.Name = estilosParaExcluir(i) Then
est.Delete
Exit For
End If
Next est
Next i
On Error GoTo 0
MsgBox "Estilos específicos foram processados para exclusão.", vbInformation
End Sub
Como personalizar este código:
- Modifique a linha
estilosParaExcluir = Array()incluindo os nomes exatos dos estilos entre aspas. - Use a macro "ListarEstilos" apresentada anteriormente para obter os nomes corretos.
- Separe cada nome de estilo por vírgula dentro do Array.
- Os nomes devem corresponder exatamente, incluindo maiúsculas e minúsculas.
- Execute a macro normalmente através de Alt + F8.
Macro Avançada Com Proteção de Estilos Essenciais
Esta é uma versão mais sofisticada para excluir estilos indesejados com VBA no Excel, que oferece proteção adicional aos estilos essenciais do sistema e permite criar uma lista de estilos que você deseja preservar mesmo sendo personalizados.
Código VBA com proteção inteligente:
Sub ExcluirEstilosComProtecao()
Dim est As Style
Dim estilosProtegidos As Variant
Dim proteger As Boolean
Dim i As Integer
Dim contadorExcluidos As Integer
estilosProtegidos = Array("Normal", "Ruim", "Bom", "Neutro", "Meus Títulos")
contadorExcluidos = 0
On Error Resume Next
For Each est In ActiveWorkbook.Styles
proteger = False
If est.BuiltIn Then
proteger = True
Else
For i = LBound(estilosProtegidos) To UBound(estilosProtegidos)
If est.Name = estilosProtegidos(i) Then
proteger = True
Exit For
End If
Next i
End If
If Not proteger Then
est.Delete
contadorExcluidos = contadorExcluidos + 1
End If
Next est
On Error GoTo 0
MsgBox contadorExcluidos & " estilos foram excluídos. Estilos protegidos foram preservados.", vbInformation
End Sub
Vantagens desta macro avançada:
- Protege automaticamente todos os estilos nativos do Excel.
- Permite adicionar estilos personalizados à lista de proteção no Array.
- Oferece controle total sobre o que será mantido e o que será excluído.
- Ideal para empresas com padrões visuais específicos que não devem ser removidos.
- Fornece relatório detalhado da quantidade de estilos excluídos.
Criando Botão Para Executar a Macro Facilmente
Para facilitar a execução das macros que excluem estilos indesejados com VBA no Excel, você pode criar um botão diretamente na planilha. Isso elimina a necessidade de pressionar Alt + F8 toda vez que precisar limpar os estilos.
Passo a passo para criar botão de macro:
- Na guia Desenvolvedor do Excel, clique em Inserir.
- Em Controles de Formulário, selecione o ícone de Botão (primeiro ícone).
- Clique e arraste na planilha para desenhar o botão no tamanho desejado.
- A janela "Atribuir Macro" abrirá automaticamente.
- Selecione a macro que deseja vincular ao botão (ex: ExcluirEstilosPersonalizados).
- Clique em OK para confirmar a atribuição.
- Clique com o botão direito no botão e selecione "Editar Texto" para alterar o rótulo.
- Digite um nome descritivo como "Limpar Estilos" ou "Excluir Estilos Personalizados".
- Clique fora do botão para finalizar a edição.
- Agora basta clicar no botão para executar a macro instantaneamente.
Tabela Comparativa de Métodos de Exclusão
Para ajudar você a escolher o melhor método para excluir estilos indesejados com VBA no Excel, veja esta comparação detalhada das diferentes abordagens apresentadas neste tutorial.
| Método | Complexidade | Velocidade | Segurança | Melhor Para |
|---|---|---|---|---|
| Listar Estilos | Baixa | Rápida | Alta | Análise prévia antes da exclusão |
| Excluir Todos Personalizados | Baixa | Muito Rápida | Média | Limpeza completa geral |
| Excluir Específicos | Média | Rápida | Alta | Remoção seletiva de estilos conhecidos |
| Exclusão com Proteção | Alta | Média | Muito Alta | Ambientes corporativos com padrões |
| Botão na Planilha | Média | Instantânea | Alta | Uso frequente e praticidade |
Resolvendo Erros Comuns na Exclusão de Estilos
Ao trabalhar com códigos VBA para excluir estilos indesejados no Excel, você pode encontrar alguns problemas específicos. Conhecer os erros mais comuns e suas soluções garante que suas macros funcionem perfeitamente.
Problemas frequentes e soluções:
- Erro "Estilo está em uso": Alguns estilos não podem ser deletados porque estão aplicados em células. Solução: use
On Error Resume Nextno código para ignorar esses casos. - Macro não executa: Verifique se as macros estão habilitadas nas configurações de segurança do Excel em Arquivo > Opções > Central de Confiabilidade.
- Estilos não são excluídos: Certifique-se de que o arquivo está salvo como .xlsm (habilitado para macro) e não .xlsx.
- Erro de sintaxe no código: Verifique se copiou o código completo sem quebras de linha incorretas ou caracteres especiais.
- Botão não funciona: Confirme se a macro está atribuída corretamente ao botão clicando com botão direito > Atribuir Macro.
- Performance lenta: Para planilhas com centenas de estilos, o processo pode demorar alguns segundos, o que é normal.
- Estilos voltam após reabrir: Isso ocorre quando você copia dados de fontes externas novamente. Execute a macro sempre que necessário.
Automatizando a Limpeza de Estilos ao Abrir a Planilha
Para usuários avançados que desejam manter suas planilhas sempre organizadas, é possível configurar o Excel para excluir estilos indesejados com VBA automaticamente toda vez que o arquivo for aberto.
Código para execução automática:
Private Sub Workbook_Open()
Dim est As Style
Dim contadorExcluidos As Integer
contadorExcluidos = 0
On Error Resume Next
For Each est In ActiveWorkbook.Styles
If Not est.BuiltIn Then
est.Delete
contadorExcluidos = contadorExcluidos + 1
End If
Next est
On Error GoTo 0
If contadorExcluidos > 0 Then
MsgBox contadorExcluidos & " estilos personalizados foram automaticamente excluídos ao abrir a planilha.", vbInformation
End If
End Sub
Instruções de implementação:
- No editor VBA (Alt + F11), localize "ThisWorkbook" no painel de projetos.
- Dê duplo clique em "ThisWorkbook" para abrir sua janela de código.
- Cole o código acima na janela.
- Salve a pasta de trabalho como .xlsm.
- Feche e reabra o arquivo para testar a automação.
- A macro executará automaticamente sempre que o arquivo for aberto.
- Para desativar, simplesmente delete o código de "ThisWorkbook".
Benefícios de Excluir Estilos Indesejados Regularmente
Manter suas planilhas do Excel livres de estilos desnecessários traz diversos benefícios práticos que melhoram significativamente sua experiência de trabalho e o desempenho dos arquivos.
- Redução drástica do tamanho do arquivo: Planilhas podem diminuir entre 20% a 60% de tamanho após limpeza de estilos acumulados.
- Velocidade ao abrir e salvar: Arquivos menores carregam mais rapidamente, economizando tempo em operações diárias.
- Menu de estilos organizado: Interface mais limpa e profissional com apenas os estilos relevantes visíveis.
- Melhor desempenho geral: Excel funciona mais fluido ao processar formatações com menos estilos carregados em memória.
- Facilita padronização visual: Equipes conseguem manter consistência de formatação sem estilos conflitantes.
- Reduz erros de formatação: Menos estilos significa menos chances de aplicar formatações incorretas acidentalmente.
- Simplifica compartilhamento: Arquivos menores são mais fáceis de enviar por email e compartilhar em nuvem.
- Compatibilidade melhorada: Menos problemas ao abrir arquivos em diferentes versões do Excel ou em dispositivos móveis.
- Automação eficiente: Processos automatizados funcionam melhor com planilhas limpas e organizadas.
- Profissionalismo: Demonstra cuidado técnico e atenção aos detalhes na gestão de arquivos corporativos.
Conclusão
Dominar como excluir estilos indesejados com VBA no Excel é uma habilidade valiosa que transforma a qualidade e o desempenho das suas planilhas. Este tutorial apresentou desde códigos básicos até soluções avançadas com proteção inteligente de estilos essenciais, capacitando você a manter arquivos limpos, leves e organizados.
As macros VBA apresentadas oferecem flexibilidade total, permitindo desde limpezas completas até remoções seletivas de estilos específicos, sempre com segurança e controle sobre o processo. A implementação de botões e automações facilita ainda mais o uso rotineiro dessas ferramentas, tornando a manutenção de planilhas uma tarefa simples e rápida.
Incorpore essas práticas no seu fluxo de trabalho regular, especialmente após importar dados de fontes externas ou trabalhar com planilhas colaborativas. Com arquivos mais leves e organizados, você ganhará produtividade, melhorará a experiência dos usuários e manterá padrões profissionais em todos os seus documentos Excel.
Perguntas Frequentes
1. É seguro excluir todos os estilos personalizados com VBA no Excel?
Sim, é seguro desde que você use códigos que preservem os estilos nativos do Excel através da propriedade BuiltIn. Os códigos apresentados neste tutorial incluem proteções que garantem que apenas estilos personalizados sejam removidos, mantendo intactos os estilos essenciais do sistema como Normal, Título e outros padrões.
2. Como recuperar estilos excluídos acidentalmente com VBA?
Infelizmente, estilos excluídos não podem ser recuperados automaticamente. A melhor prática é sempre fazer backup do arquivo antes de executar macros de exclusão, salvando uma cópia com nome diferente. Alternativamente, use o recurso de Versões Anteriores do Windows ou restaure de backups automáticos da nuvem.
3. Quantos estilos posso ter no Excel sem afetar o desempenho?
O Excel suporta até 64.000 estilos tecnicamente, mas o desempenho começa a degradar significativamente acima de 4.000 estilos. O ideal é manter menos de 100 estilos ativos para garantir velocidade máxima. Planilhas corporativas bem gerenciadas normalmente têm entre 20 e 50 estilos personalizados além dos nativos.
4. Posso executar estas macros em várias planilhas simultaneamente?
Sim, você pode modificar os códigos VBA para percorrer todas as planilhas da pasta de trabalho usando loops como For Each ws In ThisWorkbook.Worksheets. Isso permitirá limpar estilos de múltiplas abas com uma única execução, economizando tempo em arquivos complexos com dezenas de planilhas diferentes.
5. Por que alguns estilos não são excluídos mesmo com a macro?
Estilos que estão atualmente aplicados a células, tabelas ou objetos não podem ser deletados enquanto estiverem em uso. O Excel protege esses estilos automaticamente. Para removê-los, primeiro substitua a formatação das células que usam esses estilos pelo estilo Normal e depois execute novamente a macro de exclusão.





