Tenha em mãos as Melhores Planilhas! Paulo

Como Transformar Formulário VBA Excel de navegação Entre Planilhas!

Como Transformar Formulário VBA Excel de navegação Entre Planilhas!

 

Como Transformar Formulário VBA Excel de navegação Entre Planilhas!

 

Como Transformar um formulário VBA Excel que realize navegação entre as planilhas do Excel.

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.

 

Como Transformar Formulário VBA Excel de navegação Entre Planilhas!

 

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: 

Navegar entre planilhas Excel VBA,

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;

 

Como Transformar Formulário VBA Excel de navegação Entre Planilhas!

 

 

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

 

Como Transformar Formulário VBA Excel de navegação Entre Planilhas!

 

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.

Como Transformar Formulário VBA Excel de navegação Entre 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: Navegar entre planilhas Excel VBA, e descompacte os arquivos em uma pasta de sua preferência;

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

Como Transformar Formulário VBA Excel de navegação Entre Planilhas!

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

 

Como Transformar Formulário VBA Excel de navegação Entre Planilhas!

 

 

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

 

Como Transformar Formulário VBA Excel de navegação Entre Planilhas!

 

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

 

Como Transformar Formulário VBA Excel de navegação Entre Planilhas!

 

 

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

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.

Informe seu e-mail para o download do arquivo.

Campos marcados com * são requeridos

Como Transformar Formulário VBA Excel de navegação Entre Planilhas!

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.

 

Abraço Paulo Rigáo
 

Sobre o autor | Website



Por gentileza, se deseja alterar o arquivo do rodapé,
entre em contato com o suporte.
google.com, pub-3449874674717021, DIRECT, f08c47fec0942fa0