Note: The other languages of the website are Google-translated. Back to English

Como ocultar linhas automaticamente se houver células em branco em uma coluna?

Se você tiver um intervalo de dados que preenche algumas células em branco em uma coluna, e agora, deseja ocultar as linhas que contêm as células em branco naquela coluna automaticamente. Existem boas maneiras de resolver esse trabalho no Excel de forma rápida e fácil?

Ocultar linhas automaticamente se células em branco em uma coluna com código VBA


seta azul bolha direita Ocultar linhas automaticamente se células em branco em uma coluna com código VBA

O código a seguir pode ajudá-lo a ocultar todas as linhas se células em branco em uma coluna específica de uma só vez, e se você excluir o conteúdo da célula nessa coluna, as linhas também serão ocultadas automaticamente. Faça o seguinte:

1. Clique com o botão direito na guia da planilha em que deseja ocultar automaticamente as linhas se houver células em branco em uma coluna e escolha Ver código a partir do menu de contexto, no pop-out Microsoft Visual Basic para Aplicações janela, copie e cole o código a seguir no espaço em branco Módulo:

Código VBA: ocultar linhas automaticamente se células em branco em uma coluna:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xRg As Range
    Application.ScreenUpdating = False
        For Each xRg In Range("A1:A20")
            If xRg.Value = "" Then
                xRg.EntireRow.Hidden = True
        
            Else
                xRg.EntireRow.Hidden = False
            End If
        Next xRg
    Application.ScreenUpdating = True
End Sub

doc auto ocultar linhas 1

Nota: No código acima, A1: A20 é a lista de dados que contém as células em branco que você deseja ocultar automaticamente.

2. Em seguida, volte para a planilha e, agora, ao clicar duas vezes em qualquer célula e pressionar Entrar , as linhas que contêm células em branco na coluna A foram ocultadas de uma vez, e se você limpar qualquer conteúdo de célula nas células especificadas da coluna A, as linhas serão ocultadas automaticamente.

doc auto ocultar linhas 2

 


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório

 

Comentários (32)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Olá, estou usando o Excel 2016 e não está funcionando. Eu recebo uma mensagem de erro de sintaxe. você pode ajudar?
Este comentário foi feito pelo moderador no site
Olá, Ant,

O código acima funciona bem no meu Excel 2016, você alterou a referência da célula no código para sua necessidade?
Este comentário foi feito pelo moderador no site
Recebo um erro de tempo de execução ´13´:



Incompatibilidade de tipo



Alguém que possa ajudar???
Este comentário foi feito pelo moderador no site
Posso impedir que esta macro seja executada automaticamente após pressionar enter? Eu poderia anexá-lo a um botão para ocultar apenas as células quando eu clicar?
Este comentário foi feito pelo moderador no site
alguém já descobriu isso? Eu também gostaria de saber.
Este comentário foi feito pelo moderador no site
alguém já deu a resposta?
Este comentário foi feito pelo moderador no site
mesma pergunta aqui
Este comentário foi feito pelo moderador no site
Olá, pessoal,
Para ocultar as linhas em que uma coluna específica contém células em branco usando um botão, faça o seguinte:
Primeiro, você deve inserir um botão de comando na guia Desenvolvedor.
E, em seguida, aplique o seguinte código VBA para o botão de comando (Observação: altere a referência de célula a1:a20 para sua própria)

Sub CommandButton1_Click () particular
Dim rng como intervalo, x como intervalo
Definir rng = Range("a1:a20")
Application.ScreenUpdating = False
Para cada x em rng
Se Len(x.Texto) = 0 Então
x.EntireRow.Hidden = Verdadeiro
Outro
x.EntireRow.Hidden = Falso
Se acabar
X seguinte
Application.ScreenUpdating = True
End Sub

Por favor, tente, espero que possa ajudá-lo!
Este comentário foi feito pelo moderador no site
como ocultar automaticamente linhas se células em branco em 2 colunas diferentes com código VBA
Este comentário foi feito pelo moderador no site
Olá, salpe,
Para ocultar as linhas se células em branco em 2 colunas diferentes automaticamente, aplique o seguinte código:

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xRg, xCell como intervalo
Dim xRgs, xRgArea como intervalo
Set xRgs = Range("A1:A22,D1:D22")
Application.ScreenUpdating = False
Em erro GoTo Ctn
Para cada xRgArea em xRgs.Areas
Debug.Print xRgArea.Address
Para cada xRg em xRgArea.Columns
Para cada xCell em xRg.Rows
Se xCell.Value = "" Então
xCell.EntireRow.Hidden = Verdadeiro
Ctn GoTo
ElseIf Not xCell.EntireRow.Hidden Then
xCell.EntireRow.Hidden = Falso
Se acabar
Ctn:
Seguinte
Seguinte
Seguinte
Application.ScreenUpdating = True
End Sub

Você pode alterar as referências de célula de acordo com sua necessidade.
Por favor tente!
Este comentário foi feito pelo moderador no site
بسم الله وجزاكم الله خيرا هذا الكود رائع ولكن حين قمت بتطبيق كود حذف الصف يبطأ الشيت بطريقة طويلة جدا فما العمل?
Este comentário foi feito pelo moderador no site
Eu quero saber se o código funcionará Se a célula estiver em branco como resultado da Fórmula?
Este comentário foi feito pelo moderador no site
Olá, ACHINTA,
O código VBA acima também é aplicado às células em branco como resultado da fórmula, você pode tentar, obrigado!
Este comentário foi feito pelo moderador no site
A fórmula funciona para ocultar as células com base nas informações, no início, mas não revela novamente as células se seu conteúdo for alterado. Eu quero que ele revele todas as novas células que foram preenchidas com informações (o que ocorre por meio de uma pesquisa de célula). Como eu faço isso?
Este comentário foi feito pelo moderador no site
Bom dia, esta é minha necessidade também.

Quando a precisão da verificação for excedida (uso uma fórmula que preencha a mesma verificação) seja reexibida a linha novamente de forma automática.

Grato.
Este comentário foi feito pelo moderador no site
O que eu quero é algo assim para funcionar na planilha ativa:

Se as células D2:D55 = ""
Então Hide.EntireRow

Se as células D2:D55 = "tem algum valor"
Então Mostrar.EntireRow

Como?
Este comentário foi feito pelo moderador no site
Olá, Kacha, você só precisa alterar a referência da célula no código para o seu próprio intervalo de células conforme abaixo: Private Sub Worksheet_Change(ByVal Target As Range)
'Atualizar por Extendoffice
Dim xRg como intervalo
Application.ScreenUpdating = False
Para cada xRg no intervalo("D2:D55")
Se xRg.Value = "" Então
xRg.EntireRow.Hidden = Verdadeiro

Outro
xrg.entirerow.hidden = false
Se acabar
Próximo xRg
Application.ScreenUpdating = True
End SubDepois de inserir o código, lembre-se de clicar duas vezes em qualquer célula e pressionar a tecla Enter para que o código entre em vigor.
Este comentário foi feito pelo moderador no site
Qual é a maneira mais simples de desfazer a ocultação automática?
Este comentário foi feito pelo moderador no site
Oi, mình có dùng 2 code trong 1 arquivo excel (1 código là của bạn) với mục đích in ra những bản riêng biệt và không bị thừa dòng trống. Khi mình ấn em tung bản thì ok nhưng nếu em 1 loạt thì código Esconder không có tác dụng, bạn xem giúp mình với nhé, mình cảm ơn!

SubPRINT_PRINT()
Dim rng como intervalo, x como intervalo
Definir rng = Range("a16:a23")
Application.ScreenUpdating = False
Para cada x em rng
Se Len(x.Texto) = 0 Então
x.EntireRow.Hidden = Verdadeiro
Outro
x.EntireRow.Hidden = Falso
Se acabar
X seguinte
Application.ScreenUpdating = True


Escurecer p1, p2, i&
p1 = Sheet1.Range("O1").Value
p2 = Sheet1.Range("O2").Value
If IsNumeric(p1) = False Ou IsNumeric(p2) = False Then
tb = MsgBox("Então codifique phai la so.", , "Thông báo")
Exit Sub
Se acabar
Se p1 > p2 Então
tb = MsgBox("Então codifique sau phai >= então codifique truoc.", , "Thông báo")
Exit Sub
Se acabar
Se p1 < 1 Ou p2 < 1 Então
tb = MsgBox("Então codifique phai >= 1.", , "Thông báo")
Exit Sub
Se acabar
Se p1 <= p2 Então
Para i = p1 Para p2
Sheet1.Range("M2").Value = i
Folha1.Impressão
Seguinte
Se acabar
End Sub
Este comentário foi feito pelo moderador no site
Hola,Necesito crear una macro que me oculte una columna.Seria así: en la primera fila poner un 1 a las columnas that no quiero ocultar y no poner ningún value to las columns that quiero ocultar. Estoy haciendo el siguiente código, pero no see en que fallo:
Sub OcultarColumnaSin1()
Application.ScreenUpdating = False
Para cada rango em colunas
Se rango = "" Então
rango.EntireColumn.Hidden = Verdadeiro
Outro
rango.EntireColumn.Hidden = Falso
Se acabar
Próximo rango
Application.ScreenUpdating = True
End Sub
Este comentário foi feito pelo moderador no site
Isso está funcionando muito bem para mim, oculta as linhas e as abre quando meus valores mudam com base em fórmulas. A pergunta que tenho é que minha planilha tem 104 linhas. Ele se agita um pouco cada vez que clico em uma célula. Alguma maneira de acelerar a transição quando ela é ativada? Ou é meu computador? Obrigado!
Este comentário foi feito pelo moderador no site
Eu gostaria de ocultar automaticamente as linhas se a coluna E estiver em branco ou 0
Este comentário foi feito pelo moderador no site
Se o valor na coluna E estiver em branco ou 0, gostaria que a linha fosse ocultada automaticamente. Se o valor em E mudar para algo diferente de branco ou 0, gostaria que fosse mostrado. O relatório tem 1500 linhas
Este comentário foi feito pelo moderador no site
Olá, Cathy,
Para ocultar as linhas automaticamente com base em células em branco ou valores 0, use o código vba abaixo:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xRg As Range
    Application.ScreenUpdating = False
        For Each xRg In Range("E1:E1500")
            If (xRg.Value = "") Or (xRg.Value = "0") Then
                xRg.EntireRow.Hidden = True
            Else
                xRg.EntireRow.Hidden = False
            End If
        Next xRg
    Application.ScreenUpdating = True
End Sub


Por favor, tente, espero que possa ajudá-lo!
Este comentário foi feito pelo moderador no site
Como ocultar a linha que contém a caixa de seleção?
Este comentário foi feito pelo moderador no site
Olá, Sweta

Para ocultar linhas com caixa de seleção, o artigo abaixo pode fazer um favor:
Como ocultar a caixa de seleção quando a linha está oculta no Excel?

Por favor, tente, se você ainda tiver alguma dúvida, por favor, comente aqui.
Este comentário foi feito pelo moderador no site
Ao executar o código no escritório 2013/2019/2021 ele funciona, mas demora muito para ser concluído (apenas 95 linhas para ocultar).
Como você pode acelerar isso?
Obrigado!
Este comentário foi feito pelo moderador no site
Olá, Asaf,
O código funciona bem no meu arquivo do Excel, você poderia fazer o upload do seu livro de anexos aqui se não se importar? Para que possamos ajudar a verificar o problema.

Obrigado!
Este comentário foi feito pelo moderador no site
apakah ada rumus lain?, saya berharap baris kosong itu akan terhapus saat mencetak arquivo menjadi PDF tapi tampilan di excelnya tetap
Este comentário foi feito pelo moderador no site
Olá, Nurjanah
Para resolver seu problema, primeiro, você deve ocultar as linhas em branco e, em seguida, imprimir os dados, depois de imprimir os dados, você precisa reexibir as linhas em branco novamente. Por favor, faça assim:
1. Aplique esta fórmula: =CONTA(A2:E2) ao lado de seus dados, veja a captura de tela:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-1.png
2. Em seguida, filtre a nova coluna auxiliar em branco, oculte todas as linhas de valor 0, veja a captura de tela:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-2.png
3. E então, você deve ocultar a nova coluna em branco e imprimir os dados, após imprimir a planilha, cancele o filtro para exibir as linhas em branco conforme necessário.
Por favor, tente, espero que possa ajudá-lo!
Este comentário foi feito pelo moderador no site
Olá, estou tendo problemas com a "automação" da macro. Estou procurando uma maneira de o código funcionar como um processo automatizado sem a necessidade de executar a macro "manualmente". Eu tenho usado minha própria variante do seu código devido a encontrar problemas para usar seu código. Esta é a minha variante:

Sub HideRows()
Dim xRg como intervalo
Application.ScreenUpdating = False
Para cada xRg no intervalo ("A3:A800")
Se (xRg.Value = "") Então
xRg.EntireRow.Hidden = Verdadeiro
Outro
xrg.entirerow.hidden = false
Se acabar
Próximo xRg
Application.ScreenUpdating = True
End Sub

Estou tentando criar uma planilha que requer valores em constante mudança, portanto, exigiria um processo "automatizado" genuíno. Sou relativamente novo no VBA e se o seu código realmente já atende aos meus requisitos, você se importaria em me ajudar/ensinar a aplicá-lo no VBA? Obrigado.
Este comentário foi feito pelo moderador no site
Olá, Vian
Na verdade, o código em nosso artigo pode ser executado automaticamente.
Você deve copiar e colar o código no módulo de código da planilha atual, retornar à planilha, clicar duas vezes em qualquer célula e pressionar o botão Entrar chave, a linha que contém a célula em branco será ocultada diretamente.

Por favor, siga o método deste artigo passo a passo, espero que possa ajudá-lo!
Obrigado!
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL