Página 1 de 1

Automatizar macro de ocultar e exibir linhas

Enviado: 29 Dez 2015 às 10:51
por manxonildo
Boa tarde a todos!!

Tenho uma planilha de controle de despesas de acordo com o ano que funciona bem com o código abaixo.
Código: Selecionar todos
Sub Ocultar()

Application.ScreenUpdating = False

Dim i As Integer

For i = 1 To 70
Rem Coluna e Valor - neste exemplo Coluna A e valor = 8
If Range("A" & i).Value <> Cells(1, 1) Then
Rows(i & ":" & i).Select
Selection.EntireRow.Hidden = True
Else
End If
Next i
End Sub
-----------------
Sub Mostrar()
Cells.Select
Selection.EntireRow.Hidden = False
Range("B1").Select
End Sub
De acordo com o ano escolhido na célula A1, ele oculta as linhas dos outros anos. Para isso, tenho dois botões que executam as macros de Ocultar e Mostrar.

O que eu queria é o seguinte: Fazer esse macro com worksheet_change na célula A1, fazendo que só de escolher o ano na lista suspensa, já oculte todas as outras linhas dos outros anos. É possivel??

Obrigado desde já a quem puder ajudar!

Automatizar macro de ocultar e exibir linhas

Enviado: 29 Dez 2015 às 11:46
por JCNeto
Olá Manxonildo, talvez o código abaixo te ajude. Lembre que você deve escrever a macro dentro da planilha do microsoft Excel Objetos (não em módulo).
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
If Target.Column = 1 And Target.Row = 1 Then
Application.ScreenUpdating = False
Columns("A:A").Select
Selection.EntireRow.Hidden = False
For i = 1 To 70
If Range("A" & i).Value <> Cells(1, 1) Then
Rows(i & ":" & i).Select
Selection.EntireRow.Hidden = True
Else
End If
Next i
Application.ScreenUpdating = True
End If
End Sub

Re: Automatizar macro de ocultar e exibir linhas

Enviado: 29 Dez 2015 às 13:19
por manxonildo
Funcionou perfeitamente, JCNeto. Muito obrigado pela ajuda amigo!!