Notifications
Clear all

Refinar macro gravado - Reexibir linhas

5 Posts
2 Usuários
0 Reactions
1,115 Visualizações
(@georgevbs)
Posts: 30
Eminent Member
Topic starter
 

Olá, pessoal
Eu criei um macro para reexibir linhas ocultas. ex.: Coloquei um botão na Plan1 que quando acionado reexibi linhas ocultas na Plan2, Plan3 e Plan4. Eu fiz isso gravando a macro, teria como refinar esse comando, tendo em vista que para executá-lo o excel faz vários malabarismos.

Sub Reexibir1()
'
' Reexibir1 Macro

    Rows("42:67").Select
    Selection.EntireRow.Hidden = False
    ActiveWindow.SmallScroll Down:=4
    Sheets("Print_Cliente").Select
    ActiveWindow.SmallScroll Down:=16
    Rows("32:45").Select
    Selection.EntireRow.Hidden = False
    ActiveWindow.SmallScroll Down:=8
    Sheets("Print_Produção").Select
    ActiveWindow.SmallScroll Down:=12
    Rows("30:43").Select
    Selection.EntireRow.Hidden = False
    ActiveWindow.SmallScroll Down:=-16
    Sheets("Print_Orçamento").Select
    ActiveWindow.SmallScroll Down:=12
    Rows("32:45").Select
    Selection.EntireRow.Hidden = False
    ActiveWindow.SmallScroll Down:=8
    Sheets("PEDIDO 2013").Select
    Range("C43:D43").Select
    ActiveWindow.SmallScroll Down:=14
End Sub
 
Postado : 08/01/2013 10:23 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 
    Sub Reexibir1()
Application.ScreenUpdating = False
        Rows("42:67").EntireRow.Hidden = False
        Sheets("Print_Cliente").Rows("32:45").EntireRow.Hidden = False
        Rows("30:43").EntireRow.Hidden = False
        Sheets("Print_Orçamento").Rows("32:45").Select.EntireRow.Hidden = False
    Sheets("PEDIDO 2013").Select
        Range("C43").Select
Application.ScreenUpdating = True
    End Sub

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

 
Postado : 08/01/2013 10:44 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Ola veja se ajuda :

Codigo para reexibir linhas :

Sub Reexibir()

Cells.Select
Selection.EntireColumn.Hidden = False
Range("A1").Select

End Sub

Codigo para ocultar as linhas de um intervalo da linha 25 até a linha 51 :

Sub OcultarLinha()

Rows("25:51").EntireRow.Hidden = True

End Sub

Codigo abaixo oculta colunas tomando como dois criterios para ocultar :

Sub EscondeColuna()
Application.ScreenUpdating = False
Sheets("ConsultaOEE").Select
Dim linha As Integer, Coluna As Integer
Dim linha1 As Integer, Coluna1 As Integer
' na celula A3 e A4 estão o dois criterios que devem ser de ocultados caso esteja no intervalo  da coluna B até a coluna AF

linha = 4 'determina o primeiro criterio que devera ocultar a coluna
linha1 = 3' determina o segunda criterio para ocultar as colunas


For Coluna = 2 To 32 ' oculta da coluna B até a coluna AF
If Cells(linha, Coluna).Value = Cells(4, 1).Value Then
Columns(Coluna).Select
Selection.EntireColumn.Hidden = True
End If
Next

For Coluna1 = 2 To 32
If Cells(linha1, Coluna1).Value <> Cells(3, 1).Value Then
Columns(Coluna1).Select
Selection.EntireColumn.Hidden = True
End If
Next

Application.ScreenUpdating = True
End Sub

Espero que lhe ajude ....

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

 
Postado : 08/01/2013 11:08 am
(@georgevbs)
Posts: 30
Eminent Member
Topic starter
 

Valeu, Brigadão!!! Acho que os exemplos servirão bem.

 
Postado : 08/01/2013 1:28 pm
(@georgevbs)
Posts: 30
Eminent Member
Topic starter
 

Valeu, Reinaldo.
Só fiz algumas correções no código.

Sub Reexibir1()
'
   Application.ScreenUpdating = False
        Rows("42:67").EntireRow.Hidden = False
        Sheets("Print_Cliente").Rows("32:45").EntireRow.Hidden = False
        Sheets("Print_Produção").Rows("30:43").EntireRow.Hidden = False
        Sheets("Print_Orçamento").Rows("32:45").EntireRow.Hidden = False
        Sheets("PEDIDO 2013").Select
        Range("C43").Select
    Application.ScreenUpdating = True
         
End Sub

Abraços

 
Postado : 08/01/2013 1:55 pm