Filtrar colunas Excel VBA

MR
Marcos Rieper

Especialista em Excel

05 de julho de 2014 Atualizado 08 de julho de 2026 3 min de leitura
Filtrar coluna Excel VBA capa

Objetivo: Como filtrar colunas Excel VBA. Realizar o filtro dos nomes das colunas a partir da digitação, da mesma forma como é utilizado o filtro de linhas no Excel a partir do Autofiltro.

Filtrar colunas Excel VBA 1

Uma das funções que ainda faltam ao Excel é o filtro de colunas no Excel. Esta funcionalidade só existe para a filtragem das linhas, mas não para filtrar colunas.

Sendo assim, implementei em Excel/VBA a filtragem de colunas a partir do conteúdo digitado em elemento TextBox muito semelhante ao já utilizado no artigo Lista com Filtro de Dados Automático 3 aonde é demonstrado como realizar o filtro automático á medida em que vai sendo digitado o conteúdo para filtrar as linhas.

O código implementado funciona da seguinte forma. Na imagem seguinte vemos algumas colunas de uma planilha:

Filtrar colunas Excel VBA 2

A coluna que irá sumir é a que está em azul na planilha, ela será oculta quando forem digitadas letras que não se encontram no seu título, veja na imagem seguinte:

Filtrar colunas Excel VBA 3

Na TextBox foi digitado ship, e somente as colunas que contém esta cadeira de caracteres na planilha Excel foram mantidas em exibição, sendo ocultas as outras colunas portanto.

Para implementar esta funcionalidade primeiro tenha uma planilha com os dados dispostos em formato de lista, assim como o anexo deste artigo, e insira uma coluna á esquerda.

Filtrar colunas Excel VBA 4

Agora clique na guia Desenvolvedor, veja aqui como habilitar: Habilitar guia desenvolvedor no Excel, clique no botão Modo Design e insira um Textbox, conforme a imagem e posicione á esquerda das colunas.

Filtrar colunas Excel VBA 5

Agora ainda em modo de Edição, clique duas vezes sobre a Text Box inserida na planilha Excel, ela irá redirecionar ao ambiente Microsoft VBA Excel e conterá algo como Private Sub TextBox1_Change() que faz com que seja efetuada uma ação a cada alteração do conteúdo da Text Box.

Copie e cole o conteúdo seguinte sobrepondo o conteúdo que houver no código VBA.

Private Sub TextBox1_Change()
    Dim i As Long
    Dim lColuna As Long
    
    'Desliga a atualização automática do Excel
    Application.ScreenUpdating = False
    
    'Seleciona todas as células da  planilha
    Cells.Select
    
    'Exibe todas as colunas da planilha
    Selection.EntireColumn.Hidden = False
    
    'Determina a última coluna preenchida
    lColuna = Cells(1, Columns.Count).End(xlToLeft).Column
    
    'Seleciona a célula A1
    Cells(1, 1).Select
    
    'Faz um loop por todas as colunas preenchidas a partir da segunda
    For i = 2 To lColuna
        
        'Verifica se a célula contém a informação pesquisada
        If (UCase(Cells(1, i).Value) Like "*" & UCase(TextBox1.Text) & "*") = False Then
            'Oculta a coluna caso não tenha a informação pesquisada
            Columns(i).EntireColumn.Hidden = True
        End If
    Next i
    
    'Seleciona novamente o textbox para digitar o próximo caracter
    TextBox1.Activate
    
    'Liga a atualização automática do Excel
    Application.ScreenUpdating = True
End Sub

Agora volte ao Excel e tire a sua planilha do modo Design, desmarcando o botão na guia Desenvolvedor. Digite algo na Text Box e veja como os dados das colunas são filtrados.

Download — baixe aqui: Filtrar colunas Excel VBA

Preencha seus dados para receber o link de download no seu e-mail.

Abraço

Marcos Rieper

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado