Olá amigos.

Estive um pouco ausente esses dias. O motivo é que estou migrando o meu blog para uma plataforma mais amigável e personalizada. Devido a enorme aceitação dos leitores, fez-se necessário oferecer um ambiente mais agradável e adaptável ao nosso olhar. Enfim… está dando um trabalhinho a mais. Porém valerá a pena.

Bom, hoje minha dica será pequena mas bastante usual. Ficará disponível para vocês adaptarem ao critério e usarem nos seus trabalhos. Vamos a ela.

Mostrarei como é possivel mover-se pelas diversas planilhas em um determinado arquivo do Excel usando controles personalizados de acordo com a usabilidade que pretendemos disponibilizar. Quando queremos ir de uma planilha para outra, usamos aquelas abinhas na parte inferior do excel, correto? Por exemplo, estamos na Plan1 e queremos ir para a Plan2, então clicamos na aba Plan2. Até aí, nada de mais. Imagine que tenhamos umas 100 planilhas. Temos que ficar procurando a aba correspondente para selecioná-la. Minha sugestão, entre muitas outras que podemos usar, é criar uma caixa de seleção, dessas drop-down, onde estarão listadas todas as planilhas, e por essa caixa, apontaremos a planilha que queremos ir.

Um exemplo, temos uma planilha com todas as diciplinas escolares. As disciplinas são os nomes das planilhas. Vamos projetar um campo que liste todas as planilhas e execute a navegação por cada uma delas. Vamos trabalhar!

Primeiro, renomeie a plan1 para “PlanInicio”. Em seguida adicione tantas planilhas quanto necessário para figurar as disciplinas e nomeie-as com seus respectivos títulos, Matemática, Português, História, etc.

Na PlanInicio, adicionaremos 1 caixa de combinação (presente na toolbox: caixa ferramentas de controle) e daremos o nome “cbo_ExibePlanilha”.

Vá ao editor do VBA (ALT+F11) e clique duas vezes sobre a PlanInicio e digite o código:

Private Sub cbo_ExibePlanilha_Change()
On Error GoTo Erro

    'Se não for vazio
    If cbo_ExibePlanilha.Text <> "" Then
        'Seleciona a planilha escolhida
        ThisWorkbook.Worksheets(cbo_ExibePlanilha.Text).Select
    End If

Exit Sub
Erro:
    MsgBox Err.Description
    Exit Sub
End Sub

Private Sub Worksheet_Activate()
On Error GoTo Erro
Dim sh As Worksheet

    'Limpa a combo
    cbo_ExibePlanilha.Clear

    'Lista todas as planilhas
    For Each sh In ThisWorkbook.Worksheets
        If sh.Name <> ActiveSheet.Name Then
            cbo_ExibePlanilha.AddItem sh.Name
        End If
    Next sh

Exit Sub
Erro:
    MsgBox Err.Description
    Exit Sub
End Sub

Adicione, em seguida, um módulo e insira o seguinte código:

Sub VoltarParaInicio()
    ThisWorkbook.Worksheets("PlanInicio").Select
End Sub

Esse código servirá para executar o retorno à PlanInicio. E será adicionado ao botão retornar que será colocado em cada planilha de disciplina, da seguinte maneira.

Adicione um botão da caixa de ferramentas “Formulário”, pois com ele é possível adicionar uma macro de maneira bem rápida.

Na caixa que aparecerá na tela, atribua a macro “VoltarParaInicio”.

Selecione, com o botão direito do mouse, o botão criado e clique em “copiar”. E cole esse botão em cada planilha de disciplina.

Salve seu projeto. E agora já poderá movimentar-se pelas planilhas e retornar para a Planilha Inicial através de ferramentas personalizadas de maneira que atendam as necessidades de seus projetos.

E… não se esqueçam. Se quiserem um projeto avançado e totalmente personalizado que atendam as suas expectativas, podem falar comigo pelo link Orçamento. Presto soluções bem interessantes e com baixo custo.

Um abraço a todos.