AS EMPRESAS ESTÃO "DESESPERADAS" POR ESTE TIPO DE PROFISSIONAL... - VOCÊ É UM DELES?

MEGA FORMAÇÃO EM INFRAESTRUTURA DE TI - O Conhecimento que Vira Dinheiro - CLIQUE AQUI

Você está em: PrincipalArtigosSérie "Como Fazer": Menus no Excel › Lições : 13
Quer receber novidades e e-books gratuitos?
« Anterior Δ Página principal ¤ Índice Próxima »
Criando menus, barras de comando e botões personalizados no Excel usando VBA
Autor: Robert Friedrick Martim
Lição 012 - Bloqueando e Reiniciando os Menus Padrões

Uma questão que vez ou outra aparece no fórum é sobre como remover os menus do Excel e colocar os menus personalizados pelo usuário.

Se uma barra de comando é um menu, então, precisamos definir o argumento “MenuBar” como sendo True para que ele possa substituir o menu principal do Excel.

Eu, particularmente, sou contra a remoção total dos menus do Excel por um simples motivo: e se o usuário precisa de um item do menu para fazer o trabalho? Com a remoção total, ele ficará preso ao que você disponibilizou o que pode não ser a forma mais eficiente.

A verdade é que a criação de menus na criação deve ser vista como um apêndice ao que já existe e adicionar ferramentas que não estão disponíveis. Em outras palavras, a idéia de criar os menus tem o intuito de aumentar a produtividade do usuário e não reduzi-la.

De qualquer modo, este é um assunto importante também e por este motivo resolvi incluí-lo nesta revisão do curso.

Primeiramente, precisamos definir o que realmente desejamos fazer. Por exemplo, você deseja remover todos os menus visíveis ou apenas substituir o menu padrão do Excel pelo seu próprio? Se a resposta é apenas substituir o menu padrão do Excel, então, podemos fazer o seguinte:

Sub substituirMenu()

    Dim cmdbar      As CommandBar

    Dim popup       As CommandBarPopup

   

    Set cmdbar = CommandBars.Add(Name:="Minha barra", _

        Position:=msoBarTop, MenuBar:=True)

   

    Set popup = cmdbar.Controls.Add(Type:=msoControlPopup)

        popup.Caption = "Popup 1"

   

    Set popup = cmdbar.Controls.Add(Type:=msoControlPopup)

        popup.Caption = "Popup 2"

       

    Set popup = cmdbar.Controls.Add(Type:=msoControlPopup)

        popup.Caption = "Popup 3"

   

    cmdbar.Visible = True

End Sub

Ao definir o argumento MenuBar como True, nós estamos efetivamente removendo o menu padrão do Excel pelo nosso. O último passo é simplesmente passar a propriedade Visible da barra de comando para True.

Ao rodarmos a sub-rotina:

Figure 0‑8

Resolvido o primeiro problema. Contudo as outras barras ainda continuam visíveis, então, como removê-las? Existem várias formas de se fazer isso, porém, mostrarei a que acredito ser a melhor forma de se resolver o problema.

Contudo, antes de continuar, você precisa saber como restaurar o seu menu original. Há várias opções, mas a mais rápida é:

Sub resetMenu()

    On Error Resume Next

    CommandBars("Minha barra").Delete

End Sub

Tudo que precisamos fazer é excluir a barra que criamos sobre a barra padrão do Excel que a barra padrão volta ao seu estado original.

Voltando a questão da remoção de todos os menus, podemos utilizar a propriedade Enabled para resolver a questão de forma prática e rápida sem precisar definir exatamente quais menus somem e quais ficam.

Neste caso, podemos utilizar a seguinte sub-rotina:

Sub removerMenus()

 

    Dim cmdbar As CommandBar

   

    For Each cmdbar In Application.CommandBars

        cmdbar.Enabled = False

    Next cmdbar

 

End Sub

Figure 0‑9

O processo para restaurar o menu é exatamente o inverso da remoção:

Sub restaurarMenus ()

 

    Dim cmdbar As CommandBar

   

    For Each cmdbar In Application.CommandBars

        cmdbar.Enabled = True

    Next cmdbar

 

End Sub

Figure 0‑10

« Anterior Δ Página principal ¤ Índice Próxima »
Quer receber novidades e e-books gratuitos?

MEGA FORMAÇÃO EM INFRAESTRUTURA DE TI

(Online, Vitalício, Prático e Atualizado)!

  • Chega de ser Ignorado pelo Mercado!

  • A vida não vai Melhorar Sozinha!

  • Quem domina infraestrutura, domina o Mercado.

  • Com esta Formação você vai Dominar o Conhecimento e torne-se o Profissional que as Empresas estão Buscando, "desesperadamente", mas não estão encontrando.

NÃO PROCURE VAGAS, SEJA PROCURADO!

 

Curso Completo de Excel - Curso Online com Certificado - 925 Vídeo Aulas - 22 Cursos - 120:42 horas

 

Para Todos os Detalhes, Acesse:

Curso Completo de Excel - Curso Online com Certificado - 925 Vídeo Aulas - 22 Cursos - 120:42 horas

 

https://juliobattisti.com.br/curso-infra-ti.asp

 

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2026 ®

LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO

DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI