Ir para conteúdo
Fórum Script Brasil
  • 0

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


Beach

Pergunta

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.

Editado por Beach
Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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

Editado por Beach
Link para o comentário
Compartilhar em outros 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.

Editado por Patropi
Link para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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

 

Editado por DML
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...