Notifications
Clear all

Macro Inteligente Ocultar Linhas

3 Posts
3 Usuários
0 Reactions
1,039 Visualizações
(@bguerra)
Posts: 50
Trusted Member
Topic starter
 

olá pessoal,

Estou quase terminando uma planilha aqui no trabalho e não estou conseguindo fazer uma macro funcionar...

basicamente gostaria que:

1) Sempre que eu alterasse a célula C8 ela rodaria a macro

2) no intervalo de b1016 e b1615 existem células preenchidas, sempre em ordem continua (por exemplo b1016 até b1105 preenchida e as demais abaixo vazias, mas esse intervalo varia de acordo com um critério pré estabelecido que não vem ao caso), gostaria que a macro contasse quantas células estão preenchidas e ocultasse as demais linhas desse intervalo.

3) O mesmo se aplica para o intervalo de b1619 a b2218 gostaria que a macro fizesse o mesmo nesse caso.

Abaixo está a macro que estou tentando rodar...

Private Sub Worksheet_Change(ByVal Target As Range)

Rows("999:2472").Select
Selection.EntireRow.Hidden = False

If Target.Address = "$D$2" Then
QTDE_LINHA = Range("c900").Value + 1000
Range(Range("C1001"), "C1600").Select
Selection.EntireRow.Hidden = False
End If

Range(Range("C" & QTDE_LINHA + 1), "C1600").Select
Selection.EntireRow.Hidden = True

If Target.Address = "$D$2" Then
QTDE_LINHA = Range("c1602").Value + 1603
Range(Range("C1604"), "C2203").Select
Selection.EntireRow.Hidden = False
End If

Range(Range("C" & QTDE_LINHA + 1), "C2203").Select
Selection.EntireRow.Hidden = True

Range("a1").Select


End Sub
 
Postado : 04/05/2015 11:27 am
(@luizhcosta)
Posts: 0
New Member
 

Olá,

Já tive uma dúvida semelhante a sua. No código abaixo, a macro verifica no intervalo, quais células possuem o número ZERO!, então todas as células com o número ZERO são ocultadas. Acontece que as linhas ocultadas são resultados de um cálculo, logo, se as células que foram ocultadas passarem a ter um número diferente de ZERO, a macro faz o inverso e exibe novamente as linhas.

Veja se é o seu caso, ou faça as adaptações. Esta solução foi adquirida daqui mesmo do fórum.

Boa sorte.

Private Sub Worksheet_Calculate()
For Each cell In Range("AH10:AH200")
If cell.Value = 0 Then 
cell.EntireRow.Hidden = True
Else
cell.EntireRow.Hidden = False
End If
Next
End Sub
 
Postado : 04/05/2015 6:52 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Regras do forum:

Upload
Devido a ultrapassagem da marca de 1,5Gb de armazenamento de arquivos na hospedagem do Planilhando, limitaremos o tamanho de cada arquivo para 2Mb sendo obrigatório o uso dos formatos .zip - .rar - .ice visto a gratuidade e não geração de recursos para bancar o site.

Assim sendo, todos os anexos deste tópico foram removidos.

Por favor leia as regras (link na minha assinatura), e passe a compactar todos os seus anexos.

Obrigado,

Fernando

 
Postado : 05/05/2015 7:25 am