Reexibir todas as planilhas e Ocultar as planilhas novamente – Excel VBA

Reexibir todas as planilhas e Ocultar as planilhas novamente  – Excel VBA

Objetivo: Disponibilizar procedimentos para reexibir todas as planilhas de um arquivo Excel e outro para ocultar somente as planilhas que estavam ocultas.

Os procedimentos VBA que estou disponibilizando hoje podem ser muito úteis para quem tem o costume, assim como eu, de ocultar planilhas que não são utilizadas com tanta frequência.

As vezes precisamos rever estas planilhas, muitas vezes não lembramos mais qual é, ou precisamos mesmo reexibir todas as planilhas que estão ocultas.

Para fazer com que o Excel reexiba todas as planilhas de um arquivo Excel eu criei o procedimento VBA Excel lsTodasVisiveis aonde todas as planilhas que estão ocultas ficam visíveis.

Em contra-partida também criei o procedimento VBA Excel lsRetornarOcultas que faz com que as planilhas que antes estavam ocultas fiquem ocultas novamente.

Os procedimentos abaixo devem ser colocados no arquivo PERSONAL, importante que seja no início do arquivo por causa das variáveis globais que existem. conforme explicado no artigo http://guiadoexcel.com.br/habilitando-a-guia-desenvolvedor-e-copiando-procedimentos-vba-sub-da-internet.

Você também pode criar atalhos dos procedimentos VBA para que possam ser acessados rapidamente de qualquer lugar conforme demonstrado no artigo http://guiadoexcel.com.br/criar-botoes-de-atalho-para-macros-e-procedimento-vba.

Abaixo o código VBA Excel dos procedimentos para que possam ser copiados e executados.

'Declara as variáveis globais
Global lPlanilhas()    As String
Global lArquivo        As String

'Faz com que todas as planilhas fiquem visíveis
Public Sub lsTodasVisiveis()

Dim lWorksheet      As Worksheet
Dim lWorkbook       As Workbooks
Dim lCont           As Integer

    Set lworkbooks = ActiveWorkbook
    lCont = 0

    lArquivo = lworkbooks.Name

    'Identifica as planilhas que não estão visíveis e as reexibe
    For Each lworksheets In lworkbooks.Worksheets

        If lworksheets.Visible  xlSheetVisible Then
            'Redimensiona e mantém as informasões anteriores
            ReDim Preserve lPlanilhas(lCont)

            'Passa os dados para a variável lPlanilhas e a deixa visível
            lPlanilhas(lCont) = lworksheets.Name
            lworksheets.Visible = xlSheetVisible
            lCont = lCont + 1
        End If

    Next lworksheets

End Sub

'Oculta novamente as planilhas
Public Sub lsRetornarOcultas()
On Error Resume Next

Dim lControle   As Integer
Dim lTotal      As Integer

'Determina o total de planilhas
lTotal = UBound(lPlanilhas)

'Para cada planilha que estava oculta e ficou visível o sistema oculta ela novamente
For lControle = 0 To lTotal
    Workbooks(lArquivo).Worksheets(lPlanilhas(lControle)).Visible = xlSheetHidden
Next lControle

End Sub

😀 Abraço
Marcos Rieper