Notifications
Clear all

Macro Para Ocultar LInhas

5 Posts
2 Usuários
0 Reactions
978 Visualizações
(@jpaulo)
Posts: 4
New Member
Topic starter
 

Bom Dia!
Amigos,

Estou com um problema.

Tenho uma planilha que possui uma tabela dinâmica, vinculada à segmentações de dados. Dependo a seleção dessa segmentação, o número de linhas dessa tabela aumenta, ou diminui. O problema é que gostaria de uma macro que ocultasse as linhas, quando a tabela fica menor. Estou usando os seguintes comandos, que tenho em outra planilha e funciona mto bem (porem neste não tabelas dinâmicas).

Sub Ocultar()
lin = 17
Do Until Cells(lin, 1) = ""
If Cells(lin, 1) = 0 Then
Cells(lin, 1).EntireRow.Hidden = True
Else
Cells(lin, 1).EntireRow.Hidden = False
End If
lin = lin + 1
Loop
End Sub

Na coluna A, não tem dados apenas esta fórmula: SE(OU(B17<>"";B17="Total Geral");"X";0).

Enfim, a macro até funciona, mas não automaticamente (mesmo com a opção automática em "opções > fórmula").
Alguém por favor poderia me ajudar a fazê-la automatica.

Obrigado!

João Paulo

 
Postado : 07/10/2013 8:26 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Vamos no "achometro", pois sem maiores detalhes:

Dependo a seleção dessa segmentação

fica um tanto quanto no ar.

Então para "automatizar" alguma rotina, essa deve ser "chamada" à partir do modulo da propria planilha. Então supondo que a segumentação seja efetuada atraves de um combo ou validação>
No envento change da planilha utiliza:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("AA1")) Is Nothing Then
        OCULTAR
    End If
End Sub

Vide algo similar em http://www.planilhando.com.br/forum/viewtopic.php?f=10&t=9290

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/10/2013 9:47 am
(@jpaulo)
Posts: 4
New Member
Topic starter
 

Boa Tarde!

Obrigado pela ajuda Reinaldo, mas ainda não funcionou.

Estou enviando uma planilha de exemplo com a mesma estrutura da qual estou tentando aplicar. O fato é, quando se seleciona o filtro da Tabela dinâmica (segmentação) dependendo do que selecionou, o numero de linhas da tabela aumenta ou diminui. Eu gostaria de deixar automatizada, ou seja, sempre que fizer uma seleção, o g´rfico abaixo da tabela ficar na linha subsenquente ao total. A macro funciona, mas não está automática, tenho que mandar executá-la sempre que mudo o filtro.

Obrigado pela atenção.

 
Postado : 07/10/2013 11:29 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Segue alterado, veja se atende

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/10/2013 12:08 pm
(@jpaulo)
Posts: 4
New Member
Topic starter
 

Obrigado! Reinaldo pela ajuda. atendeu sim!

 
Postado : 07/10/2013 12:42 pm