Página 1 de 1

Ocultar linhas com condição

Enviado: 10 Set 2018 às 15:35
por Luc
Boa tarde,

Tenho as linhas de 2 a 109. Da linha 2 a 55 é a página 1. Da 56 a 109 a página 2. A página 2 está oculta por padrão e deve ser usada quando a 1 estiver toda preenchida.

Estou utilizando as seguintes macros:
Código: Selecionar todos
Sub ocultar_Pg1()
Set pagina1 = Range("2:55"): Set pagina2 = Range("56:109")
pagina1.EntireRow.Hidden = True: pagina2.EntireRow.Hidden = False
End Sub

Sub ocultar_Pg2()
Set pagina1 = Range("2:55"): Set pagina2 = Range("56:109")
pagina1.EntireRow.Hidden = False: pagina2.EntireRow.Hidden = True
End Sub
Preciso ajustar a macro Sub ocultar_Pg1() para que ela só funcione caso a coluna D18:D45 esteja totalmente preenchida e caso não, retorne uma mensagem (por exemplo: por favor, preencha toda a página 1 antes de seguir para a página 2).

Ocultar linhas com condição

Enviado: 10 Set 2018 às 16:09
por ExcelFlex
É possível colocar um exemplo da planilha para avaliar?

Ocultar linhas com condição

Enviado: 10 Set 2018 às 21:01
por Luc
Segue exemplo!

Ocultar linhas com condição

Enviado: 11 Set 2018 às 16:03
por Luc
Pessoal,

Já encontrei a solução:
Código: Selecionar todos
Sub ocultar_Pg1()
         
    Application.ScreenUpdating = False
    
    Dim Faixa As Range
    Dim Encontrou As Boolean
    
    Set pagina1 = Range("2:55"): Set pagina2 = Range("56:109")
    Set Faixa = Range("D18:D45")
    
    Encontrou = False
    
    For Each celula In Faixa
        If celula.Value = "" Then
            Encontrou = True
        End If
    Next
    
    If Encontrou = True Then
        MsgBox "Preencha toda a página 1 antes de continuar para a página 2", vbCritical, "ERRO"
    Else
        pagina1.EntireRow.Hidden = True: pagina2.EntireRow.Hidden = False
    End If   
    
    Application.ScreenUpdating = True
   
End Sub
Obrigado pela tentativa.