Formulário VBA Excel de navegação entre planilhas

MR
Marcos Rieper

Especialista em Excel

24 de janeiro de 2015 Atualizado 08 de julho de 2026 4 min de leitura
Formulário VBA Excel de navegação entre planilhas

Objetivo: Este artigo demonstra como adicionar um formulário VBA Excel que realize navegação entre as planilhas do Excel.

Navegar planilhas Excel 1

Neste artigo vamos apresentar uma forma mais prática, rápida e profissional de navegar entre os formulários do Excel. É tão útil que acho que deveria ser incluso na próxima versão.

Esta funcionalidade é um formulário que, quando chamado, mostra todas as planilhas, em ordem alfabética, que o arquivo Excel aberto possui, e permite que ao selecionar uma outra planilha na caixa de combinação, seja alterada a planilha selecionada.

Navegar planilhas Excel 3

No arquivo que há em anexo a este artigo tem um exemplo da utilização deste formulário na planilha de Controle de estoque, disponibilizada neste artigo: http://guiadoexcel.com.br/planilha-de-controle-de-estoque-excel como exemplo.

O código fonte deste formulário está todo comentado e livre para utilização em suas aplicações, abaixo nós veremos como adicionar ele ao PERSONAL.XLSB de modo que possa acessar este formulário de qualquer arquivo Excel, e depois como adicionar ele a apenas um arquivo Excel.

1. Faça o download do arquivo do formulário em:

Download — baixe aqui: Formulário de navegação entre planilhas

Preencha seus dados para receber o link de download no seu e-mail.

, e descompacte os arquivos em uma pasta de sua preferência;

2. Habilite a guia Desenvolvedor seguindo estes passos: Habilitar guia desenvolvedor no Excel;

3. Clique na guia Desenvolvedor e em PERSONAL.XLSB;

Navegar planilhas Excel 4

4. Clique em Menu->Arquivo->Importar Arquivo..., selecione o arquivo descompactado e clique em Abrir;

Navegar planilhas Excel 5

5. O formulário frmPlanilhas terá sido importado ao arquivo PERSONAL.XLSB;

Navegar planilhas Excel 6

6. Agora clique no menu Inserir->Módulo

Navegar planilhas Excel 7

7. Clique no Módulo inserido e digite o seguinte código, ele irá chamar o formulário:

Public Sub lsPesquisarPlanilhas()
    frmPlanilhas.Show
End Sub

8. Agora volte para o Excel, fechando o VBA, clicando no botão no canto superior direito X, normalmente;

9. Clique na guia Desenvolvedor e no botão Macros, selecione a macro lsPesquisarPlanilhas e no botão Opções, digitando na tecla de atalho L, maiúsculo, assim toda vez que digitar CTRL+SHIFT+L o Excel irá automaticamente chamar o formulário de navegação entre as planilhas.

Assim, o formulário estará disponível em todas as planilhas do Excel. Veja o código fonte:

Dim lFormularioVisivel As String

Private Sub cmbPlanilhas_Change()
    'Se o formulário anterior estivesse invisível iria torná-lo novamente invisível
    If lFormularioVisivel  "" Then
        ActiveWorkbook.Worksheets(lFormularioVisivel).Visible = False
    End If

    'Identifica se o formulário é visível ou está oculto
    If ActiveWorkbook.Worksheets(cmbPlanilhas.Text).Visible = False Then
        'Armazena o nome do formulário selecionado se não estiver visível
        lFormularioVisivel = cmbPlanilhas.Text
        
        'Torna o formulário visível
        ActiveWorkbook.Worksheets(cmbPlanilhas.Text).Visible = True
        
        'Seleciona a planilha
        ActiveWorkbook.Worksheets(cmbPlanilhas.Text).Select
    Else
        'Seleciona a planilha
        ActiveWorkbook.Worksheets(cmbPlanilhas.Text).Select
    End If
End Sub

Private Sub cmbPlanilhas_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    'Se for pressionado a tecla ESC o sistema irá fechar o formulário
    If KeyCode = 27 Then
        cmdSair_Click
    End If
End Sub

Private Sub cmbPlanilhas_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    'Se for pressionado a tecla ESC o sistema irá fechar o formulário
    If KeyAscii = 27 Then
        cmdSair_Click
    End If
End Sub

Private Sub cmdSair_Click()
    'Fecha o formulário ao clicar o botão Sair
    Unload Me
End Sub

Private Sub UserForm_Activate()
    Dim ini, fim As Integer
    Dim i, j As Integer
    Dim menor As String

    'Adiciona todas as planilhas á combo de navegação do formulário
    For i = 1 To ActiveWorkbook.Sheets.Count
        cmbPlanilhas.AddItem ActiveWorkbook.Sheets(i).Name
    Next i

    'Técnica booble sort para realizar a ordenação dos itens do combo
    ini = 0
    fim = cmbPlanilhas.ListCount - 1
    For i = ini To fim - 1
        For j = i + 1 To fim
            If cmbPlanilhas.List(i) > cmbPlanilhas.List(j) Then
                menor = cmbPlanilhas.List(j)
                cmbPlanilhas.List(j) = cmbPlanilhas.List(i)
                cmbPlanilhas.List(i) = menor
            End If
        Next j
    Next i

End Sub

Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    'Se for pressionado a tecla ESC o sistema irá fechar o formulário
    If KeyAscii = 27 Then
        cmdSair_Click
    End If
End Sub

Se for necessário inserir o formulário em uma única planilha é necessário seguir os seguintes passos:

1. Faça o download do arquivo do formulário em:

Download — baixe aqui: Formulário de navegação entre planilhas

Preencha seus dados para receber o link de download no seu e-mail.

, e descompacte os arquivos em uma pasta de sua preferência;

2. Habilite a guia Desenvolvedor seguindo estes passos: Habilitar guia desenvolvedor no Excel;

3. Clique na guia Desenvolvedor e no arquivo Excel que você tem aberto;

Navegar planilhas Excel 9

4. Clique em Menu->Arquivo->Importar Arquivo..., selecione o arquivo descompactado e clique em Abrir;

Navegar planilhas Excel 5

5. O formulário frmPlanilhas terá sido importado ao arquivo PERSONAL.XLSB;

Navegar planilhas Excel 10

6. Agora clique no menu Inserir->Módulo

Navegar planilhas Excel 7

7. Clique no Módulo inserido e digite o seguinte código, ele irá chamar o formulário:

Public Sub lsPesquisarPlanilhas()
    frmPlanilhas.Show
End Sub

8. Agora volte para o Excel, fechando o VBA, clicando no botão no canto superior direito X, normalmente;

9. Clique na guia Desenvolvedor e no botão Macros, selecione a macro lsPesquisarPlanilhas e no botão Opções, digitando na tecla de atalho L, maiúsculo, assim toda vez que digitar CTRL+SHIFT+L o Excel irá automaticamente chamar o formulário de navegação entre as planilhas.

Download — baixe aqui: Navegação entre planilhas

Preencha seus dados para receber o link de download no seu e-mail.

Abraço

Marcos Rieper

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado