Skip to main content

Como ocultar colunas em tempo real com base na entrada do usuário no Excel?

Author: Xiaoyang Last Modified: 2025-06-04

Ocultar colunas no Excel pode ser uma tarefa comum, mas você já tentou ocultar colunas automaticamente com base em valores de entrada específicos? Por exemplo, quando eu insiro o texto “AA” em uma célula, a coluna A é ocultada; quando insiro “BB,” as colunas B e C são ocultadas; ao inserir “CC,” as colunas D e E são ocultadas; ao inserir “DD,” a coluna F é ocultada, conforme mostrado na demonstração abaixo. Este artigo fornecerá um código VBA para resolver isso no Excel.

Usar código VBA para ocultar ou exibir colunas em tempo real com base na entrada do usuário

Usar código VBA para ocultar ou exibir determinadas colunas com base na entrada do usuário


Usar código VBA para ocultar ou exibir colunas em tempo real com base na entrada do usuário

Para ocultar colunas específicas em tempo real com base nos valores de entrada, aplique o seguinte código VBA:

1. Na planilha onde deseja ocultar colunas, clique com o botão direito na guia da planilha e, em seguida, clique em "Visualizar Código" no menu de contexto, veja a captura de tela.

A screenshot showing how to open the Visual Basic for Applications window in Excel by right-clicking the sheet tab

2. Na janela aberta "Microsoft Visual Basic for Applications", copie e cole o seguinte código VBA na janela "Planilha (Código)".

Código VBA: Ocultar colunas em tempo real com base na entrada do usuário

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby ExtendOffice
xcell = Range("K1").Value
Select Case xcell
Case "AA": Columns("A").EntireColumn.Hidden = False
Columns("A").EntireColumn.Hidden = True
Case "BB": Columns("B:C").EntireColumn.Hidden = False
Columns("B:C").EntireColumn.Hidden = True
Case "CC": Columns("D:E").EntireColumn.Hidden = False
Columns("D:E").EntireColumn.Hidden = True
Case "DD": Columns("F").EntireColumn.Hidden = False
Columns("F").EntireColumn.Hidden = True
Case Else
Columns("A:G").EntireColumn.Hidden = False
End Select
End Sub
Observação: No código acima, "K1" é a célula onde você insere o texto específico. Você deve ajustar o texto e os nomes das colunas para atender às suas necessidades. Além disso, você pode adicionar outros novos critérios simplesmente adicionando os scripts abaixo:
  • Case "AA": Columns("A").EntireColumn.Hidden = False
  • Columns("A").EntireColumn.Hidden = True

A screenshot of the VBA code window in Excel with code pasted to hide columns based on user input

3. Em seguida, feche a janela de código. Agora, ao inserir “AA” na célula K1 e pressionar a tecla "Enter", a coluna A será ocultada; ao inserir “BB” e pressionar a tecla "Enter", as colunas B e C serão ocultadas, e assim por diante. Se você inserir qualquer outro valor ou excluir o conteúdo, as colunas ocultas serão exibidas imediatamente, veja a demonstração abaixo:


Usar código VBA para ocultar ou exibir determinadas colunas com base na entrada do usuário

Neste exemplo, vou filtrar um intervalo de dados com base no nome de um produto inserido. Quando insiro “Hoodie”, apenas as informações sobre Hoodie são exibidas e as outras colunas serão ocultadas imediatamente; e quando insiro “Todos”, todas as colunas serão exibidas conforme mostrado na demonstração abaixo:

1. Na planilha onde deseja ocultar colunas, clique com o botão direito na guia da planilha e, em seguida, clique em "Visualizar Código" no menu de contexto, veja a captura de tela:

A screenshot showing how to open the Visual Basic for Applications window in Excel by right-clicking the sheet tab

2. Na janela aberta "Microsoft Visual Basic for Applications", copie e cole o seguinte código VBA na janela "Planilha (Código)".

Código VBA: Ocultar ou exibir colunas para filtrar dados com base na entrada do usuário

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby ExtendOffice
    Dim x As Variant, y As String
     If Target.Address = "$K$1" Then
        y = Target.Value
        With Range("B1:H1")
            Application.ScreenUpdating = False
            .EntireColumn.Hidden = (y <> "All")
            If y <> "All" Then
                For Each x In .Cells
                    If x = y Then x.EntireColumn.Hidden = False
                Next
            End If
            Application.ScreenUpdating = True
        End With
    End If
End Sub
Observação: No código acima, "K1" é a célula onde você insere o texto específico, "B1:H1" são os cabeçalhos de linha contendo os nomes dos produtos que deseja filtrar.

3. Em seguida, feche a janela de código. Agora, se você inserir o nome do produto na célula K1, apenas as colunas correspondentes serão exibidas, as outras serão ocultadas; e se você inserir o texto “Todos”, todas as colunas aparecerão conforme mostrado na demonstração abaixo:

Melhores Ferramentas de Produtividade para Office

🤖 Assistente AI do KUTOOLS: Revolucione a análise de dados com base em: Execução Inteligente | Gerar Código | Criar Fórmulas Personalizadas | Analisar Dados e Gerar Gráficos | Invocar Funções Aprimoradas
Recursos Populares: Encontrar, Destacar ou Marcar Duplicatas | Excluir Linhas em Branco | Combinar Colunas ou Endereço sem Perder Dados | Arredondar...
Super PROC: PROC com Múltiplos Critérios | PROC com Múltiplos Valores | Procura em várias planilhas | Correspondência Fuzzy...
Lista Suspensa Avançada: Crie rapidamente uma Lista Suspensa | Lista Suspensa Dependente | Lista Suspensa com Múltipla Seleção...
Gerenciador de Colunas: Adicionar um Número Específico de Colunas | Mover Colunas | Alternar Estado de Visibilidade das Colunas Ocultas | Comparar Intervalo & Colunas...
Recursos em Destaque: Grade de foco | Visualização de Design | Barra de fórmulas aprimorada | Gerenciador de Pasta de trabalho & Planilha | Biblioteca de AutoTexto | Selecionador de Data | Mesclar Dados | Criptografar/Descriptografar Células | Enviar Email por Lista | Super Filtro | Filtro Especial (filtrar negrito/itálico/tachado...)...
Top15 Conjuntos de Ferramentas:12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ...) | Mais de50 Tipos de Gráficos (Gráfico de Gantt, ...) | Mais de40 Fórmulas Práticas (Calcular a idade com base na data de nascimento, ...) |19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem a partir do Caminho, ...) |12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ...) |7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ...) | ... e muito mais

Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...


O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho

  • Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
  • Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!