Vba tutorial para barras de ferramentas personalizadas no Excel

barras de ferramentas personalizadas tem apenas os botões que você realmente quer.

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 = "&amp-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.
De esta maneira? Compartilhar em redes sociais:

LiveInternet