Guia do Excel

Menu Suspenso no Excel - VBA

MR
Marcos Rieper

Especialista em Excel

Atualizado em 08 de julho de 2026 Publicado em 12 de dezembro de 2011 2 min de leitura

Objetivo: Demonstrar a criação de um menu suspenso no Excel.

Encontrei no livro VBA e Macros para Microsoft Office Excel 2007 de Bill Jelen e Tracy Syrstad este código que achei interessante e adaptei nesta planilha com comentários relevantes.

Este código executa um menu suspenso quando é acionada uma macro, ocultando todos os menus suspensos do botão direito da planilha e depois adicionando novamente.

Ao abrir a planilha e fechar os menus são "resetados" ou seja, voltam ao seu estado normal, caso contrário todas as opções normais do botão direito do Excel seriam ocultas.

Abaixo o código fonte:

Sub MenuSuspenso()
    Application.CommandBars("Cell").Reset
    
    Dim cbc As CommandBarControl
    
    'Oculta todos os comandos do botão direito
    For Each cbc In Application.CommandBars("cell").Controls
        cbc.Visible = False
    Next cbc
    
    'Adiciona um comando ao menu suspenso
    With Application.CommandBars("Cell").Controls.Add(temporary:=True)
        .Caption = "Minha Macro 1"
        .OnAction = "Test1"
    End With
    
    'Adiciona um comando ao menu suspenso
    With Application.CommandBars("Cell").Controls.Add(temporary:=True)
        .Caption = "Minha Macro 2"
        .OnAction = "Test2"
    End With
    
    'Adiciona um comando ao menu suspenso
    With Application.CommandBars("Cell").Controls.Add(temporary:=True)
        .Caption = "Minha Macro 3"
        .OnAction = "Test3"
    End With
    
    Application.CommandBars("Cell").ShowPopup
End Sub

Sub Test1()
    MsgBox "Essa é a macro Teste1 do menu de evento do clique com o botão direito personalizado do objeto ActiveX..", , "Item de menu ''Minha Macro 1''"
End Sub

Sub Test2()
    MsgBox "Essa é a macro Teste2 do menu de evento do clique com o botão direito personalizado do objeto ActiveX..", , "Item de menu ''Minha Macro 2''"
End Sub

Sub Test3()
    MsgBox "Essa é a macro Teste3 do menu de evento do clique com o botão direito personalizado do objeto ActiveX..", , "Item de menu ''Minha Macro 3''"
End Sub
Material gratuito

Planilha de Controle Financeiro no Excel

Tenha um controle bonito e completo do seu financeiro.

  • Categorias e subcategorias já configuradas
  • Planilhas separadas por tabela (configuração, lançamentos, resumo)
  • Personalize com suas próprias categorias e ícones

Baixe grátis — receba o link no seu e-mail

Download — baixe aqui: Menu suspenso
Menu suspenso21 KB · Excel 2010 ou superior · com macrosPreencha seus dados para receber o link de download no seu e-mail.

Abraço

Marcos Rieper

Este conteúdo foi útil?

Continue lendo