Notifications
Clear all

Macro para ocultar linhas

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

Olá, parabéns pelo site e pelos artigos…

Tenho uma dúvida e gostaria de compartilhar com vocês e pedir a vossa ajuda!
É também um tipo inteligente de ocultar linhas no Excel.

A macro que utilizo para ocultar/desocultar linhas nas minhas planilhas é:

Sub valorescabecalho()
‘Aba: Partidas Diretas

If Rows(“09:12″).EntireRow.Hidden = True Then
Rows(“09:12″).EntireRow.Hidden = False
ElseIf Rows(“09:12″).EntireRow.Hidden = False Then
Rows(“09:12″).EntireRow.Hidden = True
End If

End Sub

(Ou seja – nesta macro as linhas 09 a 12 são ocultadas e desocultadas ao apertar o botão que habilito a macro para executá-la)

Minha dúvida, problema é:

Quando eu insiro uma linha neste intervalo e agora quero ocultar as linhas 09 a 13 a macro não faz a mudança automaticamente, e daí me dá muito trabalho pois se tenho 100 intervalos, ao incluir uma linha somente, tenho que alterar todos os intervalos.
Há como resolver isso com alguma macro? Ou configuração / recurso do excel?

Desde já agradeço pela ajuda

 
Postado : 21/10/2015 10:12 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde

Seja bem-vindo ao fórum!

Movi tua dúvida para um novo tópico.
Para manter a organização do fórum, sempre crie um novo tópico para as tuas dúvidas.

[]s

Patropi Moderador

 
Postado : 21/10/2015 11:23 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Tente algo assim!

Sub valorescabecalho()
'Aba: Partidas Diretas
Dim LR As Long
LR = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
If Range("A9:H" & LR).EntireRow.Hidden = True Then
    Range("A9:H" & LR).EntireRow.Hidden = False
ElseIf Range("A9:H" & LR).EntireRow.Hidden = False Then
    Range("A9:H" & LR).EntireRow.Hidden = True
End If

End Sub

Não testado!!!

Att

 
Postado : 21/10/2015 11:51 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Uma forma melhorada.

Sub AleVBA_17794()
    Dim RowStart As Integer
    Dim RowEnd As Integer
    Dim LastRow As Integer

    LastRow = WorksheetFunction.CountA(Columns(1))
    With Sheets("Plan1")
        RowStart = 9
        RowEnd = LastRow
        If .Rows(RowStart & ":" & RowEnd).Hidden = False Then
            .Rows(RowStart & ":" & RowEnd).Hidden = True
        ElseIf .Rows(RowStart & ":" & RowEnd).Hidden = True Then
            .Rows(RowStart & ":" & RowEnd).Hidden = False
        Else
            Exit Sub
        End If
    End With
End Sub

Att

 
Postado : 21/10/2015 12:53 pm