Como ocultar/mostrar uma planilha usando vba?
Você pode usar o código VBA para ocultar ou mostrar uma planilha no Excel. Ao clicar com o botão direito na guia da planilha, você verá a opção de ocultá-la ou mostrá-la, e o mesmo pode ser feito com um código VBA.
Neste artigo, veremos algumas das formas e métodos que podemos usar.
Código VBA para ocultar uma planilha
Digamos que você queira ocultar a “Planilha1” da pasta de trabalho ativa. Neste caso você deve usar um código como este.
Sheets("Sheet1").Visible = False
No código acima, você referenciou Sheet1, usou a propriedade visível e alterou para false.
Faça uma folha bem escondida
Existe outra opção que você pode usar para criar uma planilha muito oculta que não pode ser facilmente ocultada pelo usuário.
Ocultar uma planilha com base no valor de uma célula
Ok, se quiser usar um valor de célula em vez de usar diretamente o nome da planilha no código, você pode consultar esta célula.
Sheets(Range("A1").Value).Visible = True
Este código faz referência à célula A1 e usa o valor ali para se referir à planilha que você deseja ocultar.
Links úteis: Executar uma macro – Gravador de macro – Editor Visual Basic – Manual pessoal de macros
Verifique a folha antes de escondê-la
Você também pode usar um pequeno código como este para verificar a planilha cujas saídas você deseja ocultar ou não.
Sub vba_hide_sheet() Dim sht As Worksheet For Each sht In ThisWorkbook.Worksheets If sht.Name = "Sheet1" Then sht.Visible = False Exit Sub End If Next sht MsgBox "Sheet not found", vbCritical, "Error" End Sub
O código acima usa FOR EACH LOOP + IF STATEMENT para percorrer cada planilha da pasta de trabalho. E verifique a planilha que deseja ocultar.
Ocultar todas as planilhas (exceto ActiveSheet)
Agora há uma coisa que você precisa entender: você não pode esconder todas as folhas. Deve haver uma folha visível o tempo todo.
Sub vba_hide_sheet() Dim ws As Worksheet For Each ws In ThisWorkbook.Sheets If ActiveSheet.Name <> ws.Name Then ws.Visible = False End If Next ws End Sub
O código acima percorre todas as planilhas da pasta de trabalho e, em seguida, corresponde o nome de cada planilha ao nome da planilha ativa e oculta-a se não corresponder.
Código VBA para exibir uma planilha
Para exibir uma planilha, você deve alterar a propriedade visível para TRUE.
Sheets("Sheet1").Visible = False
Se a planilha que você deseja exibir já estiver visível, este código não apresentará nenhum erro. Mas se esta planilha não existir, você receberá um erro de tempo de execução ‘9’.
Use VBA para mostrar todas as planilhas ocultas
Imagine que você tem várias planilhas ocultas em uma pasta de trabalho e se quiser ocultá-las manualmente, terá que fazer isso uma por uma.
Mas aqui está o código que faz isso de uma só vez.
Sub vba_unhide_sheet() Dim ws As Worksheet For Each ws In ThisWorkbook.Sheets If ws.Visible = False Then ws.Visible = True End If Next ws End Sub
Ele passa por cada folha e a desmascara.