Visual Basic for Applications, ou VBA, torna possível programar o comportamento personalizado em planilhas do Excel. Um dos muitos usos do VBA é construir e exibir barras de ferramentas personalizadas com botões de comando que você selecionar que executam built-in Excel comandos, bem como personalizados macros VBA. Em vez de usar os menus do Excel padrão que são otimizados para o usuário médio, você pode ter controle absoluto sobre os comandos que você tem acesso rápido a. Desde que o código é construído para a própria pasta de trabalho, os seus menus personalizados estarão disponíveis em todos os lugares que você abri-lo.
pressione "Alt" e "F11" ao mesmo tempo de sua planilha do Excel para iniciar o editor do Visual Basic.
Duplo click "ThisWorkbook" no painel de navegação à esquerda para abrir uma janela de código em branco.
Copie e cole o seguinte código na janela de código em branco:
AddMenus sub ()
Dim cMenu1 Como CommandBarControl
Dim cbMainMenuBar Como CommandBar
Dim iHelpMenu As Integer
Dim cbcCutomMenu Como CommandBarControl
«(1) Exclua qualquer um já existente. Devemos usar On Error Resume próxima _
no caso de ele não existe.
On Error Resume Next
Application.CommandBars ("Barra de Menus folha de cálculo") .Controls ("&novo menu").Excluir
Em GoTo erro 0
«(2) Definir uma variável CommandBar para planilha barra de menu
Definir cbMainMenuBar = _
Application.CommandBars ("Barra de Menus folha de cálculo")
`(3) Retorna o número de índice do menu Ajuda. então podemos usar _
este para colocar um menu personalizado antes.
iHelpMenu = _
cbMainMenuBar.Controls ("Socorro").Índice
«(4) Adicionar um controle para o "Barra de Menus folha de cálculo" antes de Ajuda.
`Definir uma variável CommandBarControl a ele
Definir cbcCutomMenu = _
cbMainMenuBar.Controls.Add (Type: = msoControlPopup, _
Antes: = iHelpMenu)
`(5) Dê o controle de uma legenda
cbcCutomMenu.Caption = "&Menu de amp-Nova"
"(6) Trabalhar com o nosso novo controle, adicionar uma sub controle e _
dar-lhe uma legenda e dizer-lhe que macro para executar (OnAction).
Com cbcCutomMenu.Controls.Add (Type: = msoControlButton)
.caption = "Menu 1"
.OnAction = "MyMacro1"
End With
`(6a) Adicionar outro controle sub dar-lhe uma legenda _
e dizer-lhe que macro para executar (OnAction)
Com cbcCutomMenu.Controls.Add (Type: = msoControlButton)
.caption = "Menu 2"
.OnAction = "MyMacro2"
End With
`Repita o passo "6a" para cada item de menu que você deseja adicionar.
`Adicionar outro menu que vai levar off para outro menu
`Definir uma variável CommandBarControl a ele
Definir cbcCutomMenu = cbcCutomMenu.Controls.Add (Type: = msoControlPopup)
`Dê o controle de uma legenda
cbcCutomMenu.Caption = "Ne&Menu de amp-xt"
`Adicionar um contol para o submenu, acabou de criar acima
Com cbcCutomMenu.Controls.Add (Type: = msoControlButton)
.caption = "&-Charts"
.FaceID = 420
.OnAction = "MyMacro2"
End With
End Sub
Sub DeleteMenu ()
On Error Resume Next
Application.CommandBars ("Barra de Menus folha de cálculo") .Controls ("&Menu de amp-Nova").Excluir
Em GoTo erro 0
End Sub
Sub MyMacro1 ()
MsgBox "I muito ainda não fazem, não é?", VbInformation, "Ozgrid.com"
End Sub
Sub MyMacro2 ()
MsgBox "Eu não faço muito ainda quer, não é?", VbInformation, "Ozgrid.com"
End Sub
Private Sub Workbook_Activate ()
Corre "AddMenus"
End Sub
pressione "F5" para salvar e executar o código. Isto irá adicionar o menu personalizado cada vez que você abrir o livro.
dicas & avisos
- Você também pode criar barras de ferramentas personalizadas, sem VBA através da "Ferramentas gt; Customizar" cardápio.