Skip to main content

Kutools para Office — Uma Suíte. Cinco Ferramentas. Aumente sua Produtividade.

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

Author Xiaoyang Last modified

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

🤖 Kutools AI Aide: Revolucione a análise de dados com: Execução Inteligente   |  Gerar Código  |  Criar Fórmulas Personalizadas  |  Analisar Dados e Gerar Gráficos  |  Chamar Funções Aprimoradas
Recursos Populares: Localizar, Destacar ou Marcar Duplicatas   |  Excluir Linhas em Branco   |  Consolidar Colunas ou Células sem Perder Dados   |   Arredondar...
Super PROC: Procura por múltiplos critérios    Procura por múltiplos valores  |   Procura em várias planilhas   |   Correspondência Fuzzy...
Lista Suspensa Avançada: Crie rapidamente Lista suspensa  |  Lista suspensa dependente  |  Lista suspensa com múltipla seleção ...
Gerenciador de Colunas: Adicionar número específico de colunas  | Mover Colunas  | Alternar status de visibilidade de Colunas ocultas |  Comparar Intervalos & 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 (Auto Text)   |  Selecionador de Data   |  Mesclar Dados   |  Criptografar/Descriptografar Células    Enviar Email por Lista   |  Super Filtro   |   Filtro Especial (filtrar negrito/itálico/tachado...) ...
Os 15 Principais Conjuntos de Ferramentas: 12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ...)  | 50+ Tipos de Gráficos (Gráfico de Gantt, ...)  | 40+ Fórmulas Práticas (Calcular a idade com base na data de nascimento, ...)  | 19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem pelo 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
Use o Kutools no idioma de sua preferência – compatível com Inglês, Espanhol, Alemão, Francês, Chinês e mais de40 idiomas!

Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência incomparável. Kutools para Excel oferece mais de300 recursos avançados para aumentar a produtividade e economizar tempo.  Clique aqui para acessar o recurso que você mais precisa...


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

  • Habilite edição e leitura por abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie múltiplos documentos em novas abas de uma mesma janela, em vez de em novas janelas.
  • Aumente sua produtividade em50% e economize centenas de cliques todos os dias!

Todos os complementos Kutools. Um instalador

O pacote Kutools for Office reúne complementos para Excel, Word, Outlook & PowerPoint, além do Office Tab Pro, sendo ideal para equipes que trabalham em vários aplicativos do Office.

Excel Word Outlook Tabs PowerPoint
  • Pacote tudo-em-um — complementos para Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Um instalador, uma licença — configuração em minutos (pronto para MSI)
  • Trabalhe melhor em conjunto — produtividade otimizada entre os aplicativos do Office
  • Avaliação completa por30 dias — sem registro e sem cartão de crédito
  • Melhor custo-benefício — economize comparado à compra individual de add-ins