Jump to content
Fórum Script Brasil
  • 0

Como ocultar uma linha no excel quando tiver um valor = zero


Question

Bom dia a todos

Tenho uma planilha no Excel para controle de estoque e gostaria de saber se é possível ocultar automaticamente uma linha quando o valor de uma determinada célula for igual a zero.

Edited by Beach
Link to post
Share on other sites

14 answers to this question

Recommended Posts

  • 0

Boa noite Beach

Clique com o lado direito do mouse na Aba da planilha ---> Exibir código ---> Copie e cole este código lá:

Private Sub Worksheet_Change(ByVal Target As Range)

For i = [A65000].End(xlUp).Row To 1 Step -1

If Cells(i, 1) = 0 Then Rows(i).EntireRow.Hidden = True

Next i

End Sub

Depois clique em ALT+Q para retornar a planilha.

Digite 0 em uma linha da coluna A para você testar.

Faça as adaptações de coluna que forem necessárias.

Um abraço.

Link to post
Share on other sites
  • 0

Patropi, boa tarde

Funcionou beleza, preciso de mais um favor, tem como colocar uma tecla de acionamento, pois cada vez que eu insiro um valor na planilha ele vare toda a coluna “A” em busca de um valor zero e trocar a coluna "A" pela coluna "C"

Muito Obrigado

Edited by Beach
Link to post
Share on other sites
  • 0

Boa noite

Para fazer isso vamos ter que mudar o código e o módulo que esta instalado o código.

Primeiro você clica com o lado direito do mouse na Aba da planilha --> Exibir código --> Selecione todo o código e apaga.

Continuando ainda no editor de VBA --> Menu Inserir ---> Módulo ---> Copie e cole os 2 códigos abaixo. ( um é para ocultar e outro para reexibir as linhas).

Clique em ALT+Q para retornar a planilha.

Na Planilha clique na Guia Desenvolvedor ---> Inserir ---> em Controle de fórmulários clique no primeiro botão do lado esquerdo ---> O Crursor irá ficar em forma de cruz --> Desenhe 2 botões na planilha ( Preferencialmente nas linhas 1 e 2 para evitar que quando ocultar a linha oculte os botões também)

Clique duas vezes no botão para editá-lo -- mude o nome para Ocultar e o outro para Reexibir.

Depois clique com o lado direitodo mouse no botão ocultar --> Atribuir Macro -->escolha ocultar e dê ok

Faça o mesmo no outro botão escolhendo mostrar e dê ok.

Ponto agora é só testar.

Baixe o exemplo:

http://www.4shared.com/file/UdgBB6uC/Ocult...ha_que_tiv.html

Dê retorno.

Um abraço.

Edited by Patropi
Link to post
Share on other sites
  • 0
Olá caros amigos. Utilizem o seguinte código. O mesmo ocultará apenas as linhas em branco.
Sub Ocultar_Vazias()
uLinha = Plan1.Cells(Plan1.Cells.Rows.Count, "a").End(xlUp).Row
For i = 2 To uLinha
If IsEmpty(Plan1.Cells(i, 1)) Then
Plan1.Cells(i, 1).EntireRow.Hidden = True
Else
Plan1.Cells(i, 1).EntireRow.Hidden = False
End If
Next
End Sub
Abs!
Ivair Claudio Ferrari
Link to post
Share on other sites
  • 0

Boa tarde Ivair!

O seu código funcionou perfeitamente aqui, mas tenho um outro problema, e gostaria de ver se pode me ajudar.

Eu quero ocultar as linhas se um intrevalo de células específico estiver em branco, por exemplo, se no intrevalo das céluas B9:B38 houver alguma célula em branco, gostaria de ocultar a linha correspondente aquela célula específica. Será que tem como?

Obrigado!

Link to post
Share on other sites
  • 0
Em 17/07/2011 at 22:53, Patropi disse:

Boa noite Beach

 

Clique com o lado direito do mouse na Aba da planilha ---> Exibir código ---> Copie e cole este código lá:

 

 

Depois clique em ALT+Q para retornar a planilha.

 

Digite 0 em uma linha da coluna A para você testar.

 

Faça as adaptações de coluna que forem necessárias.

 

Um abraço.

 

 

Boa tarde meu amigo, Perfeito o comando que você colocou aqui, mas estou tendo 2 problemas, estou montando uma planilha aqui na empresa de preenchimento automático de pedido de venda e estou linkando várias ações ao digitar. Porém vou linkar cada produto a uma linha, ao menos a primeiro momento e sendo assim vou enviar para os clientes selecionarem os produtos e automaticamente vai entrando as quantidades desejadas. a unica coisa é que gostaria de saber se esse comando teria como ser automático, ao lançar os valores ele já automaticamente exibe a linha.

Ex: =SE('Camisas Femininas'!P16>=1;'Camisas Femininas'!I14;0)

Se o cliente não lançar na grade fica 0 entendeu, ai oculta, quando ele lança na grade transporta automaticamente o valor para a planilha a qual usei o código ai teria que reexibir

tem como? ou algum caminho mais fácil de fazer isso?

Link to post
Share on other sites
  • 0
Em 22/07/2011 at 02:03, Patropi disse:

Boa noite

 

Para fazer isso vamos ter que mudar o código e o módulo que esta instalado o código.

 

Primeiro você clica com o lado direito do mouse na Aba da planilha --> Exibir código --> Selecione todo o código e apaga.

Continuando ainda no editor de VBA --> Menu Inserir ---> Módulo ---> Copie e cole os 2 códigos abaixo. ( um é para ocultar e outro para reexibir as linhas).

 

Clique em ALT+Q para retornar a planilha.

 

Na Planilha clique na Guia Desenvolvedor ---> Inserir ---> em Controle de fórmulários clique no primeiro botão do lado esquerdo ---> O Crursor irá ficar em forma de cruz --> Desenhe 2 botões na planilha ( Preferencialmente nas linhas 1 e 2 para evitar que quando ocultar a linha oculte os botões também)

 

Clique duas vezes no botão para editá-lo -- mude o nome para Ocultar e o outro para Reexibir.

Depois clique com o lado direitodo mouse no botão ocultar --> Atribuir Macro -->escolha ocultar e dê ok

Faça o mesmo no outro botão escolhendo mostrar e dê ok.

 

Ponto agora é só testar.

 

Baixe o exemplo:

 

http://www.4shared.com/file/UdgBB6uC/Ocult...ha_que_tiv.html

 

Dê retorno.

 

Um abraço.

Oi!

O link não funciona

E depois de experimentar o primeiro código fornecido verifiquei que ele só funciona para ocultar quando não há registos. Não mostra automaticamente quando há registos.

Link to post
Share on other sites
  • 0

Boa noite.

Gostaria de saber como eu faço pra ocultar linha vazia e reexibir quando ela for preenchido com algum dado, tudo automaticamente.

 

minha planilha tem a primeira coluna com a condicional "SE", quando vazia desejo ocultar a linha inteira e quando preenchidas reexibi-las.

desde já, muito obrigado.

Link to post
Share on other sites
  • 0

Olá, sei que  o tópico é antigo, mas gostaria de deixar alguns códigos que encontrei na internet para ocultar e reexibir as linhas em branco que é possível estipular um intervalo para que ocorra o ocultamento, conforme um usuário perguntou. Adaptem de acordo com suas necessidades

 

1 Esconder todas as linhas em branco desde a linha 2 até à 65000

Sub OcultarLinha()
  Dim Linha, LinhaFinal As Integer
  LinhaFinal = Range("A65000").End(xlUp).Row
  For Linha = 2 To LinhaFinal
    If Range("A" & Linha).Value = 0 Then
    Range("A" & Linha).EntireRow.Hidden = True
    Else
    End If
  Next Linha
End Sub

2. Esconder todas as linhas, no intervalo entre a linha 4 e a linha 500, que na coluna "G"contenham células em branco ou de valor zero (processamento mais rápido que a alternativa 1)

Sub OcultarLinha()
  Dim i As Integer
  Application.ScreenUpdating = False
    With Sheets("sumario")
      .Cells.EntireRow.Hidden = False
          For i = 4 To 500
            Select Case .Range("g" & i).Value
              Case 0
              .Rows(i & ":" & i).EntireRow.Hidden = True
            End Select
         Next i
    End With
    Application.ScreenUpdating = True
End Sub

3.Activando o Filtro Automático via VBA. A intenção é esconder as linhas que na coluna 7 ("G") contenham a letra "s" (processamento mais rápido que as alternativas anteriores)
 
Sub OcultarLinha()
    Sheets("Folha1").Select
    Range("A2:G500").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=7, Criteria1:="s"
End Sub

 

Para adaptar os códigos acima para reexibir as linhas ocultas, basta mudar o último "EntireRow.Hidden = True" para "EntireRow.Hidden = False", conforme exemplo abaixo

(CÓDIGO  02 ADAPTADO)
Sub ReexibirLinha()
  Dim i As Integer
  Application.ScreenUpdating = False
    With Sheets("sumario")
      .Cells.EntireRow.Hidden = False
          For i = 4 To 500
            Select Case .Range("g" & i).Value
              Case 0
              .Rows(i & ":" & i).EntireRow.Hidden = False
            End Select
         Next i
    End With
    Application.ScreenUpdating = True
End Sub

Vocês poder criar um botão para o Ocultar e outro Desocultar e, em seguida, atribua os macros correspondentes a cada botão.

FONTE

 

Edited by DML
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148676
    • Total Posts
      644492
×
×
  • Create New...