Como personalizar menus e barras de menu no Excel

Fórmula para retornar o nome da planilha Excel
Fórmula para retornar o nome da planilha Excel
31 de janeiro de 2015
Alinhar e ajustar imagens no Excel VBA
Alinhar e ajustar imagens no Excel VBA
6 de fevereiro de 2015

Objetivo: Como personalizar menus e barras de menu no Excel.

Botão direito menu

Neste artigo  é demonstrado  como criar um menu pop-up, inserindo ele no menu de uma planilha ao clicar com o botão  direito em uma célula, chamando procedimentos em VBA que você tenha armazenado, tornando mais profissional a sua aplicação.

No nosso exemplo criamos um botão que facilita a navegação entre as planilhas de um arquivo Excel, fazendo com que o mesmo retorne ao Menu quando clicado.

Para isso vamos então á criação:

1. Abra o Visual Basic na guia Desenvolvedor ou pressionando as teclas de atalho ALT+F11

2. Na sua planilha insira um novo módulo, clicando em Inserir->Módulo

3. No módulo criado digite o seguinte código:

Sub lsAdicionarMenu()
    'Limpa os comandos adicionados
    Application.CommandBars("cell").Reset
    
    'Adiciona um comando
    With Application.CommandBars("Cell").Controls.Add(Type:=msoControlButton, before:=1, temporary:=True)
        'Descrição do comando
        .Caption = "Voltar para o Menu"
        'Ação realizada ao selecionar esta opção
        .OnAction = "'" & ThisWorkbook.Name & "'!" & "lsMenu"
        'Imagem que irá ser apresentada no menu
        .FaceId = 1016
        'Descrição
        .Tag = "Voltar para o Menu"
        .DescriptionText = "Voltar ao menu principal!"
    End With
    
    'Segundo menu com botões
    Set MenuItem = Application.CommandBars("Cell").Controls.Add(Type:=msoControlPopup, before:=2)
    With MenuItem
        .Caption = "Menu especial"

        With .Controls.Add(Type:=msoControlButton)
            .Caption = "Cotação"
            .FaceId = 71
            .OnAction = "'" & ThisWorkbook.Name & "'!" & "lsCotacao"
        End With

        With .Controls.Add(Type:=msoControlButton)
            .Caption = "Lista de compras"
            .FaceId = 72
            .OnAction = "'" & ThisWorkbook.Name & "'!" & "lsListaCompras"
        End With
    End With
End Sub

Sub lsMenu()
    'Seleciona a planilha Menu
    Worksheets("Menu").Select
    Worksheets("Menu").Range("a1").Select
End Sub

Sub lsCotacao()
    'Seleciona a planilha Menu
    Worksheets("Cotação").Select
    Worksheets("Cotação").Range("a1").Select
End Sub

Sub lsListaCompras()
    'Seleciona a planilha Menu
    Worksheets("Lista de compras").Select
    Worksheets("Lista de compras").Range("a1").Select
End Sub

Sub lsRemoverMenu()
    'Limpa todos os comandos adicionados
    Application.CommandBars("cell").Reset
End Sub

4. Agora clique na pasta Microsoft Excel Objetos e selecione o componente EstaPasta_de_trabalho e digite o seguinte código:

'Ao ativar o arquivo adiciona o menu
Private Sub Workbook_Activate()
    lsAdicionarMenu
End Sub

'Ao desativar o arquivo remove o menu
Private Sub Workbook_Deactivate()
    lsRemoverMenu
End Sub

 

Botão direito menu2

5. Com os códigos inseridos ao clicar com o botão direito em uma célula do Excel o menu terá uma nova opção, “Voltar para o menu”, conforme criamos e outra com um menu especial com outras duas abas, note que os números 1 e 2 são imagens também.

Botão direito menu4

6. Ao clicar na opção que criamos o procedimento que está associado ao menu e a ação é tomada, como por exemplo a navegação entre as abas como é o caso.

7. Para alterar a imagem do menu você pode alterar o número FaceId, veja o código correspondente nas listas de imagens abaixo:

http://www.outlookexchange.com/articles/toddwalker/BuiltInOLKIcons.asp

Veja o nosso arquivo de exemplo clicando no botão abaixo:

Abraço

Marcos Rieper


Clique aqui e leia mais sobre Excel VBA. https://www.guiadoexcel.com.br/vba/ O Guia do Excel foi criado por Marcos Rieper e oferece artigos, dicas, tutoriais e modelos de planilhas prontas. Aqui você encontra tudo sobre Excel, seja de nível básico, intermediário,  avançado e VBA. O Guia do Excel oferece diversos materiais completamente gratuitos para download. Navegue em nosso site e confira! Conheça também a nossa Loja do Excel https://loja.guiadoexcel.com.br/
Cursos

Curso Excel Completo – Curso Excel Básico + Curso Excel Avançado – Acesso Vitalício

R$218,00 R$179,00

COMPRAR
Cursos

Curso Excel Master – Curso Excel Básico + Curso Excel Avançado + Curso VBA Excel + LP – Acesso Vitalício

R$357,00 R$249,00

COMPRAR
Cursos

Curso Excel PRO – Curso Excel Avançado + Curso VBA Excel + Lógica de programação – Acesso Vitalício

R$258,00 R$199,00

COMPRAR
Cursos

Curso Excel Web – Curso VBA Excel + Lógica de programação + Curso Web Scraping VBA- Acesso Vitalício

R$388,90 R$309,00

COMPRAR

2 Comentários

  1. Claudio disse:

    Bom dia Marcos,
    Parabéns pelo trabalho!

    Seria possível, ocultarmos as demais opções padrão do menu e exibirmos apenas as desejadas ou apenas o menu personalizado?

    Att,
    Claudio

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Inscreva-se no nosso canal do Youtube!


Junte-se ao nosso canal do Youtube. Começamos em abril de 2016, mas já temos mais de 06:00 h de treinamentos gratuitos e este número irá aumentar. Vídeos novos todos os sábados.