Anpassen von Menüs und Menüleisten in Excel

Zusammenfassung

Dieser Artikel beschreibt das Anpassen von Menüs und Menüleisten in Microsoft Excel 2000 und höher. Dieser Artikel enthält eine schrittweise Anleitung und Codebeispiele programmgesteuert verwalten und Anpassen von Menüleisten, Menüs, Befehle, Untermenüs und Kontextmenüs in Microsoft Excel.

IN DIESER AUFGABE

Einführung

Um viele allgemeinen Aufgaben ausführen, Anpassen von Menüs und Menüs in Microsoft Excel 2000, Microsoft Excel 2002 und Microsoft Office Excel 2003 zugeordnet sind, verwenden Sie das Dialogfeld Anpassen . Um mehr erweiterte Aufgaben oder zum Anpassen von Menüs und Menüs für ein benutzerdefiniertes Programm empfiehlt Microsoft Visual Basic for Applications (VBA)-Codes erstellen.

Weitere Informationen über das Dialogfeld Anpassen, klicken Sie auf Microsoft Excel-Hilfe auf die
Hilfe in den Office- oder Antwort-Assistenten geben Menüleiste anpassen , und klicken Sie auf Suchen , um das Thema anzuzeigen.


Dieser Artikel hilft Ihnen die Techniken zum Schreiben von VBA-Code zum Anpassen von Menüleisten, Menüs, Menüelemente, Untermenüs und Kontextmenüs.

zurück zum Anfang

Weitere Informationen

Microsoft bietet Programmierbeispiele lediglich zur Veranschaulichung, ohne ausdrückliche oder konkludente Gewährleistung. Dies beinhaltet, ist jedoch nicht beschränkt auf, konkludente Gewährleistungen der Tauglichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der von Beispielen verwendeten Programmiersprache und den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden, vertraut sind. Microsoft-Supportmitarbeiter können bei der Erläuterung der Funktionalität bestimmter Prozeduren helfen, sie werden jedoch diese Beispiele nicht verändern um eine erweiterte Funktionalität aufzuzeigen oder Prozeduren entwickeln, die Ihren Anforderungen entsprechen.

Beispiele in diesem Artikel

Die Beispiele in diesem Artikel verwenden VBA-Code in Excel 2000, Excel 2002 und Excel 2003 zum Anpassen von Menüs. Zum Beispiel Makros verwenden, gehen Sie folgendermaßen vor:
  1. Starten Sie Excel.
  2. Zeigen Sie im Menü Extras auf
    Makro, und klicken Sie dann auf Visual Basic-Editor.
  3. Klicken Sie im Menü Einfügen auf
    Modul.
  4. Geben Sie einen Makro Beispiele aus diesem Artikel oder können Sie kopieren und Einfügen kopieren Makrobeispiele, ein Modulblatt.
  5. Klicken Sie im Menü Ausführen auf Sub/Benutzerformular ausführen.
  6. Makro -Dialogfeld angezeigt wird, klicken Sie auf den Makronamen und klicken Sie auf Ausführen.
zurück zum Anfang

Befehlsleisten

In Microsoft Office, Symbolleisten, Menüs und Tastenkombinationen gesteuert programmgesteuert als gemeinsamer Objekttyp: Befehlsleisten. Die folgenden Elemente werden in VBA durch CommandBar -Objekte dargestellt:
  • Menüleisten, Symbolleisten und Kontextmenüs.
  • Menüs auf Menüleisten und Symbolleisten
  • Untermenüs in Menüs, Untermenüs und Kontextmenüs.
Sie können jede integrierte Menüleiste oder integrierte Symbolleiste, und erstellen und benutzerdefinierte Symbolleisten, Menüleisten und Kontextmenüs von VBA-Code zu ändern. Sie stellen die Funktionen des Programms als einzelne Schaltflächen auf Symbolleisten oder als Gruppen von Befehlsnamen in Menüs. Da Symbolleisten und Menüs beide Befehlsleisten sind, verwenden Sie die gleiche Art von Steuerelementen.

In VBA und in Visual Basic werden Schaltflächen und Menüelemente von CommandBarButton -Objekten dargestellt. Popup-Steuerelemente, die Menüs Untermenüs und werden durch CommandBarPopup -Objekte dargestellt. In den folgenden Beispielen werden das Steuerelement mit dem Namen "Menu" und das Steuerelement mit dem Namen "Untermenü" Popupsteuerelemente, die ein Menü und ein Untermenü anzeigen. Sowohl das Menü als auch das Untermenü sind eindeutige CommandBar -Objekte mit eigenen Steuerelementen.

In Microsoft Excel werden Menüs und Symbolleisten als programmierbares Objekt dasselbe, das CommandBar -Objekt bezeichnet. Mithilfe der Steuerelemente in das CommandBar -Objekt auf Menüs, Menüelemente, Untermenüs und Kontextmenüs. Sie verwenden eine Konstante mit jedes Steuerelement im Typargument an den Typ des Steuerelements, die Sie für das Menü, Untermenü oder den Befehl verwenden möchten.

zurück zum Anfang

Steuerelement-Konstanten

Folgendes ist eine Liste der verschiedenen Steuerelement Konstanten in Excel 2003, die grafisch-Steuerelement für ein bestimmtes Menüleistensteuerelement geben:
  • MsoControlActiveX*
  • MsoControlAutoCompleteCombo***
  • MsoControlButton
  • MsoControlButtonDropdown
  • MsoControlButtonPopup
  • MsoControlComboBox
  • MsoControlCustom
  • MsoControlDropdown
  • MsoControlEdit
  • MsoControlExpandingGrid
  • MsoControlGauge
  • MsoControlGenericDropdown
  • MsoControlGraphicCombo
  • MsoControlGraphicDropdown
  • MsoControlGraphicPopup
  • MsoControlGrid
  • MsoControlLabel
  • MsoControlLabelEx***
  • MsoControlOCXDropDown
  • MsoControlPane **
  • MsoControlPopup
  • MsoControlSpinner***
  • MsoControlSplitButtonMRUPopup
  • MsoControlSplitButtonPopup
  • MsoControlSplitDropdown
  • MsoControlSplitExpandingGrid
  • MsoControlWorkPane**
* = Neu in Microsoft Excel 2000
** = Neu in Microsoft Excel 2002
*** = Neu in Microsoft Office Excel 2003

zurück zum Anfang

Menüleisten

Eine Menüleiste ist eine Art der Befehlsleiste. Eine Menüleiste ist die Art des Objekts, in dem Sie Menüs, Menüelemente und Untermenüs hinzufügen.

Weitere Informationen zum Verwalten von Menüleisten und Menüelementen in Excel folgendermaßen Sie vor:
  1. Starten Sie Microsoft Visual Basic-Editor.
  2. Klicken Sie im Menü Hilfe auf Microsoft Visual Basic-Hilfe.
  3. Klicken Sie im Office-Assistenten oder in der
    Assistent -Feld Menüleistengeben, und klicken Sie auf Suchen.
  4. Klicken Sie in Excel 2003 und in Excel 2002 auf Hinzufügen und Verwalten von Menüleisten und Menüelementen. Klicken Sie in Excel 2000 über Menüs und Symbolleisten.
Sie können die Menüleiste und die Steuerelemente auf der Menüleiste zur Laufzeit ändern. Der Menüleiste vorgenommenen beeinträchtigen die Darstellung oder die Position der Menüleiste. Den Steuerelementen vornehmen, hängt den Steuerelementtyp. Die folgende Tabelle enthält die gängigsten Eigenschaften und allgemeinen Methoden zum Ändern der Status, der Aktion oder den Inhalt eines Steuerelements:
Eigenschaft oder MethodeZweck
HinzufügenFügt eine Menüleiste hinzu, mit der Add -Methode dieser objektauflistung und Wert für das Menubar -Argument true angegeben.
AktiviertWenn die Enabled -Eigenschaft auf den Wert TRUE festgelegt ist, kann der Benutzer die angegebene Menüleiste sichtbar mit Visual Basic-Code. Wenn die Enabled -Eigenschaft auf FALSE festgelegt ist, kann nicht der Benutzer die Menüleiste sichtbar. Die Menüleiste wird jedoch in der Liste der verfügbaren Befehlsleisten angezeigt.
SchutzErmöglicht die Menüleiste bestimmte Benutzeraktionen zu schützen.
PositionGibt die Position der neuen Menüleiste relativ Programmfenster. Die Position der Menüleiste relativ Programmfenster kann eine der folgenden Konstanten MsoBarPosition -Eigenschaften: MsoBarLeft, MsoBarTop, MsoBarRight, MsoBarBottom, MsoBarFloating, MsoBarPopup (zum Erstellen von Kontextmenüs) oder MsoBarMenuBar (nur für Verwendung mit Apple Macintosh).
SichtbarGibt an, ob das Steuerelement sichtbar oder ausgeblendet ist.

zurück zum Anfang

Eine ID für ein Steuerelement der Befehlsleiste zurück

Im folgenden Codebeispiel gibt die ID der aktiven Menüleiste:
Sub Id_Control ()Dim myId as Object
set myId = CommandBars("Worksheet Menu Bar").Controls("Tools")
MsgBox myId.Caption & Chr(13) & MyId.Id
End Sub


zurück zum Anfang

Bestimmen Sie den Namen der aktiven Menüleiste

Im folgenden Codebeispiel gibt den Namen der aktiven Menüleiste:
Sub MenuBars_GetName()   MsgBox CommandBars.ActiveMenuBar.Name
End Sub


zurück zum Anfang

Speichern Sie aktiviert (für integrierte oder benutzerdefinierte Menüleisten)

Sie sollten die Variable OriginalMenuBar eine öffentliche Variable deklarieren, sodass eine Unterroutine in anderen Unterroutine wie eine Subroutine Auto_Close verwenden kann. Deklarieren und Verwenden der Variablen auf diese Weise zurückgesetzt vorherige Menüleiste des Benutzers auf den ursprünglichen Zustand. Das folgende Makro setzt die Menüleiste:
Public OriginalMenuBar as Object
Sub MenuBars_Capture()
Set OriginalMenuBar = CommandBars.ActiveMenuBar
End Sub

zurück zum Anfang

Erstellen einer benutzerdefinierten Befehlsleiste

Im folgenden Codebeispiel wird eine benutzerdefinierte Befehlsleiste mit dem Namen My Befehlsleisteerstellt:
Sub MenuBar_Create() Application.CommandBars.Add Name:="My command bar" End Sub

Sie können auch eine benutzerdefinierte Befehlsleiste mit Erstellen der temporäre: = True Argument. Die temporären: = True Argument ermöglicht die Befehlsleisten automatisch zurückgesetzt, wenn Sie Excel beenden. Im folgenden Codebeispiel wird die temporären: = True Argument für eine benutzerdefinierte Befehlsleiste zu erstellen:
Sub MenuBar_Create()Application.CommandBars.Add Name:="My command bar", Temporary:=True
End Sub
zurück zum Anfang

Anzeigen einer benutzerdefinierten Befehlsleiste

Im folgende Beispiel erstellt und eine benutzerdefinierte Menüleiste My Custom Bar angezeigt und ersetzt die eingebaute Menüleiste:
Sub MenuBar_Show()Dim myNewBar As Object
Set myNewBar = CommandBars.Add(Name:="Custom1", Position:=msoBarFloating)
' You must first enable your custom menu bar before you make it visible.
' Enabling a menu bar adds it to the list of available menu bars on
' the Customize dialog box.
' Setting the menubar property to True replaces the built-in menu bar.
myNewBar.Enabled = True
myNewBar.Visible = True
End Sub


zurück zum Anfang

Löschen einer benutzerdefinierten Befehlsleiste

Im folgenden Codebeispiel wird die benutzerdefinierte Menüleiste, die benutzerdefinierte 1heißt gelöscht:
Sub MenuBar_Delete()   CommandBars("Custom1").Delete
End Sub


zurück zum Anfang

Befehlsleiste ausblenden

Der folgende Beispielcode entfernt den integrierten
Menüleiste " Diagramm " aus der Liste der verfügbaren Menüs:
Sub MenuBar_Display()   CommandBars("Chart").Enabled = False
End Sub

zurück zum Anfang

Anzeigen einer Befehlsleiste

Der folgende Beispielcode fügt die integrierten
Menüleiste " Diagramm " aus der Liste der verfügbaren Menüs:
Sub MenuBar_Display()   CommandBars("Chart").Enabled = True
End Sub

zurück zum Anfang

Wiederherstellen einer integrierten Befehlsleiste

Wiederherstellen einer Menüleiste setzt die Standardsteuerelemente (für Menüs und Menübefehle). Im folgenden Codebeispiel wird die integrierte wiederhergestellt
Menüleiste " Diagramm ":
Sub MenuBar_Restore()   CommandBars("Chart").Reset
End Sub
Hinweis Integrierte Menüleisten kann nur zurückgesetzt werden. Eine benutzerdefinierte Menüleiste kann nicht zurückgesetzt werden.

zurück zum Anfang

Menüs

Wiederherstellen einer Menüleiste setzt die Standardsteuerelemente (für Menüs und Menübefehle). Im folgenden Codebeispiel wird die integrierte wiederhergestellt
Menüleiste " Diagramm ":
Sub MenuBar_Restore()   CommandBars("Chart").Reset
End Sub
Hinweis Integrierte Menüleisten kann nur zurückgesetzt werden. Eine benutzerdefinierte Menüleiste kann nicht zurückgesetzt werden.

zurück zum Anfang

Ein benutzerdefiniertes Steuerelement zu einer Befehlsleiste hinzufügen

Der folgende Beispielcode fügt den Namen eines Menüs der Menüleiste programmgesteuert hinzugefügt. Beispielsweise fügt Menü Namen Neues Menü der auf der
Arbeitsblatt -Menüleiste.

Hinweis Sie können dieses Menü einen beliebigen Namen geben, den Sie möchten.
Sub Menu_Create()Dim myMnu As Object
Set myMnu = CommandBars("Worksheet menu bar").Controls. _
Add(Type:=msoControlPopup, before:=3)
With myMnu
' The "&" denotes a shortcut key assignment (Alt+M in this case).
.Caption = "New &Menu"
End With
End Sub


zurück zum Anfang

Ein Menüsteuerelement auf einer Befehlsleiste deaktivieren

Ein Menüsteuerelement deaktiviert ist abgeblendet und ist nicht auf einer Befehlsleiste verfügbar. Im folgende Beispiel wird das Neue Menü deaktiviert:
Sub Menu_Disable()   CommandBars("Worksheet menu bar").Controls("New &Menu").Enabled = False
End Sub

zurück zum Anfang

Ein Menüsteuerelement auf einer Befehlsleiste aktivieren

Im folgenden Beispielcode können das Neue Menü, das Sie im Abschnitt "Ein Menüsteuerelement auf einer Befehlsleiste deaktivieren" deaktiviert:
Sub Menu_Disable()   CommandBars("Worksheet menu bar").Controls("New &Menu").Enabled = True
End Sub

zurück zum Anfang

Löschen eines Menü-Steuerelements auf einer Befehlsleiste

Im folgenden Codebeispiel wird das Neue Menü, das im Abschnitt "Benutzerdefinierte Steuerelement zu einer Befehlsleiste hinzufügen" aus der Menüleiste erstellt gelöscht:
Sub Menu_Delete()   CommandBars("Worksheet menu bar").Controls("New &Menu").Delete
End Sub


zurück zum Anfang

Ein Menüsteuerelement auf einer Befehlsleiste wiederherstellen

Im folgenden Codebeispiel wird die integrierte wiederhergestellt
Menüleiste " Diagramm " in der Menüleiste :

Sub Menu_Restore()Dim myMnu As Object
Set myMnu = CommandBars("Chart")
myMnu.Reset
End Sub

zurück zum Anfang

Befehle

Der Bereich Änderungen an einen Befehl abhängig von den Steuerelementtyp. Schaltflächen im Allgemeinen entweder aktiviert oder ausgeblendet sind. Bearbeitungsfelder, Dropdown Listenfelder und Kombinationsfelder sind vielseitiger, hinzufügen oder Löschen von Elementen aus der Liste. Darüber hinaus können Sie die Aktion bestimmen, die den Wert aus der Liste ausgewählten Elemente ausgeführt wird. Sie können die Aktion eines Steuerelements, einer integrierten Funktion oder einer benutzerdefinierten Funktion ändern.

Die folgende Tabelle enthält die gängigsten Eigenschaften eines Steuerelements und die Methoden zum Ändern der Status, der Aktion oder den Inhalt eines Steuerelements:
Eigenschaft oder MethodeZweck
HinzufügenFügt einen Befehl zu einer Befehlsleiste.
AddItemFügt ein Element an die Dropdownliste eines Dropdown-Listenfelds oder eines Kombinationsfelds.
FormatvorlageGibt an, ob die Schaltfläche ein Symbol oder eine Beschriftung angezeigt.
OnActionGibt die Prozedur ausgeführt, wenn der Benutzer den Wert des Steuerelements ändert.
SichtbarGibt an, ob das Steuerelement sichtbar oder ausgeblendet ist.

Weitere Informationen zu Menüs in Excel 2003 und Excel 2002 folgendermaßen Sie vor:
  1. Starten Sie den Visual Basic-Skript-Editor.
  2. Klicken Sie im Menü Hilfe auf Microsoft Visual Basic-Hilfe.
  3. Geben Sie im Feld Hilfe durchsuchen
    Menüsund drücken die EINGABETASTE.
  4. Klicken Sie auf Hinzufügen und Verwalten von Menüleisten und Menüelementen (Office).

zurück zum Anfang

Eine Trennlinie ein Menüsteuerelement hinzufügen

Der folgende Beispielcode fügt eine Trennlinie vor dem Befehl Tabelle im Menü Einfügen :
Sub menuItem_AddSeparator()   CommandBars("Worksheet menu bar").Controls("Insert") _
.Controls("Worksheet").BeginGroup = True
End Sub
Hinweis Entfernen Sie eine Trennlinie BeginGroup -Eigenschaft auf Falsefestgelegt.

zurück zum Anfang

Erstellen Sie ein benutzerdefiniertes Steuerelement in einem Menü

Der folgende Beispielcode erstellt einen neuen Befehl mit dem Namen Custom1 im Menü Extras von der
Arbeitsblatt -Menüleiste und das Code_Custom1 -Makro dann ausgeführt, wenn Sie Custom1klicken:
Sub menuItem_Create()   With CommandBars("Worksheet menu bar").Controls("Tools")
.Controls.Add(Type:=msoControlButton, Before:=1).Caption = "Custom1"
.Controls("Custom1").OnAction = "Code_Custom1"
End With
End Sub

zurück zum Anfang

Häkchen Sie ein neben ein

Im folgenden Codebeispiel wird ein Häkchen neben dem Befehl Custom1 Wenn es nicht ausgewählt ist, und wird das Häkchen entfernt, wenn Custom1 Befehl aktiviert ist:
Sub menuItem_checkMark()Dim myPopup as Object

Set myPopup = CommandBars("Worksheet menu bar").Controls("Tools")
If myPopup.Controls("Custom1").State = msoButtonDown Then
' Remove check mark next to menu item.
myPopup.Controls("Custom1").State = msoButtonUp
MsgBox "Custom1 is now unchecked"
Else
' Add check mark next to menu item.
myPopup.Controls("Custom1").State = msoButtonDown
MsgBox "Custom1 is now checked"
End If
End Sub

zurück zum Anfang

Ein Steuerelement auf einer Befehlsleiste deaktivieren

Der folgende Beispielcode deaktiviert Custom1 -Befehl, den im Menü " Extras " im Abschnitt "Erstellen Sie ein benutzerdefiniertes Steuerelement in einem Menü" erstellt:
Sub MenuItem_Disable()Dim myCmd as Object
Set myCmd = CommandBars("Worksheet menu bar").Controls("Tools")
myCmd.Controls("Custom1").Enabled = False
End Sub

zurück zum Anfang

Ein Steuerelement auf einer Befehlsleiste aktivieren

Im folgenden Codebeispiel kann Custom1 -Befehl, den im Abschnitt "Ein Steuerelement einer Befehlsleiste deaktivieren" deaktiviert:
Sub MenuItem_Enable()Dim myCmd as Object
Set myCmd = CommandBars("Worksheet menu bar").Controls("Tools")
myCmd.Controls("Custom1").Enabled = True
End Sub


zurück zum Anfang

Ein Steuerelement in einem Menü löschen

Im folgenden Codebeispiel wird den Befehl Speichern im Menü Datei gelöscht:
Sub menuItem_Delete()Dim myCmd As Object
Set myCmd = CommandBars("Worksheet menu bar").Controls("File")
myCmd.Controls("Save").Delete
End Sub


zurück zum Anfang

Ein integriertes Steuerelement in einem Menü wiederherstellen

Um ein Steuerelement in einem Menü wiederherzustellen, müssen Sie die Kennnummer (ID) des Steuerelements kennen. Um die ID-Nummer zu ermitteln, finden Sie im Abschnitt "Eine ID für ein Steuerelement der Befehlsleiste zurück". Im folgende Beispiel löscht und stellt den Befehl Speichern , den im Abschnitt "Ein Steuerelement in einem Menü löschen" gelöscht:
Sub menuItem_Restore()Dim myCmd As Object
Set myCmd = CommandBars("Worksheet menu bar").Controls("File")
' Id 3 refers to the Save menu item control.
myCmd.Controls.Add Type:=msoControlButton, ID:=3, Before:=5
End Sub

zurück zum Anfang

Untermenüs

Untermenüs angezeigt im übergeordneten Menü auf einen Befehl klickt. Ein Befehl ein Untermenü Steuerelement hat einen kleinen schwarzen Pfeil am rechten Ende der Befehlsname.

zurück zum Anfang

Hinzufügen eines Untermenüs

Der folgende Beispielcode fügt ein neues Untermenü mit dem Namen
NewSub im Menü Extras auf der
Menüleiste:
Sub SubMenu_Create()Dim newSub as Object
Set newSub = CommandBars("Worksheet menu bar").Controls("Tools")
With newSub
.Controls.Add(Type:=msoControlPopup, Before:=1).Caption="NewSub"
End With
End Sub

zurück zum Anfang

Hinzufügen eines Befehls zu einem Untermenü

Der folgende Beispielcode fügt einen neuen Befehl mit dem Namen
SubItem1 auf das Untermenü NewSub führt das Makro Code_SubItem1 , wenn Sie SubItem1klicken:
Sub SubMenu_AddItem()Dim newSubItem as Object
Set newSubItem = CommandBars("Worksheet menu bar") _
.Controls("Tools").Controls("NewSub")
With newSubItem
.Controls.Add(Type:=msoControlButton, Before:=1).Caption = "SubItem1"
.Controls("SubItem1").OnAction = "Code_SubItem1"
End With
End Sub


zurück zum Anfang

Deaktivieren Sie ein Steuerelement in einem Untermenü

Der folgende Beispielcode deaktiviert den gleichen Befehl Unterelemente , den im Abschnitt "Hinzufügen eines Befehls zu einem Untermenü" erstellt:
Sub SubMenu_DisableItem()   CommandBars("Worksheet menu bar").Controls("Tools") _
.Controls("NewSub").Controls("SubItem1").Enabled = False
End Sub


Das folgende Beispiel ermöglicht einem Unterelement Befehl:
Sub SubMenu_DisableItem()   CommandBars("Worksheet menu bar").Controls("Tools") _
.Controls("NewSub").Controls("SubItem1").Enabled = True
End Sub

zurück zum Anfang

Löschen eines Befehls in einem Untermenü

Im folgenden Beispiel wird den SubItem1 -Befehl, den im Abschnitt "Hinzufügen eines Befehls zu einem Untermenü" im Untermenü NewSub erstellt:
Sub SubMenu_DeleteItem()   CommandBars("Worksheet menu bar").Controls("Tools") _
.Controls("NewSub").Controls("SubItem1").Delete
End Sub


zurück zum Anfang

Ein Untermenü Steuerelement deaktivieren

Der folgende Beispielcode deaktiviert Untermenü NewSub im Menü " Extras " im Abschnitt "Hinzufügen eines Untermenüs" erstellt:
Sub SubMenu_DisableSub()   CommandBars("Worksheet menu bar").Controls("Tools") _
.Controls("NewSub").Enabled = False
End Sub
Hinweis Um die deaktivierten Steuerelement zu aktivieren, legen Sie die Enabled -Eigenschaft auf True.

zurück zum Anfang

Löschen eines Steuerelements Untermenü

Im folgenden Codebeispiel löscht Untermenü NewSub im Menü " Extras " im Abschnitt "Hinzufügen eines Untermenüs" erstellt:
Sub SubMenu_DeleteSub()   CommandBars("Worksheet menu bar").Controls("Tools") _
.Controls("NewSub").Delete
End Sub

zurück zum Anfang

Menü Symbolleisten

Ein Kontextmenü wird eine bewegliche Befehlsleisten angezeigt wird, wenn der Benutzer ein Objekt klickt. Ein Kontextmenüleiste kann dieselben Steuerelementtypen wie Befehlsleisten enthalten, und die Steuerelemente verhalten sich wie die Steuerelemente auf einer Befehlsleiste. Erstellen oder Ändern von der Benutzeroberfläche in den meisten Programmen Kontextmenüs. Daher müssen Sie erstellen und Ändern von Kontextmenüs zur Laufzeit.

Weitere Informationen über Kontextmenüs in Excel 2002 und Excel 2003 folgendermaßen Sie vor:
  1. Starten Sie den Visual Basic-Skript-Editor.
  2. Klicken Sie im Menü Hilfe auf Microsoft Visual Basic-Hilfe.
  3. Geben Sie im Feld Hilfe durchsuchen
    Verknüpfung, und drücken Sie dann die EINGABETASTE.
  4. Klicken Sie auf Hinzufügen und Anzeigen von Kontextmenüs.
zurück zum Anfang

Erstellen einer neuen Kontextmenüleiste

Im folgenden Codebeispiel wird eine neue Kontextmenüleiste mit dem Namen MyShortcutBarerstellt:
Sub Shortcut_Create()Dim myShtCtBar as Object
Set myShtCtBar = CommandBars.Add(Name:="myShortcutBar", _
Position:=msoBarPopup)
‘ This displays the shortcut menu bar.
‘ 200, 200 refers to the screen position in pixels as x and y coordinates.
myShtCtBar.ShowPopup 200,200
End Sub


Hinweis Die Kontextmenüleiste wird leer angezeigt, da keine Steuerelemente (Menüelemente oder Untermenüs) hinzugefügt wurden.

zurück zum Anfang

Kontextmenüs

Symbolleisten werden im Kontextmenü angezeigt, wenn Sie mit der rechten Maustaste auf ein bestimmtes Excel-Objekt klicken. Excel verfügt über viele Kontextmenü Menüleisten, für die eine Reihe von Menüs zur Verfügung stehen. Sie können auch benutzerdefinierte Menüleisten erstellen und die integrierten Menüleisten anpassen.

zurück zum Anfang

Erstellen eines Befehls auf einer Menüleiste Kontextmenü

Im folgenden Codebeispiel wird einen neuer Menübefehl Item1 auf MyShortcutBar Kontextmenüleiste Namens erstellt und Ausführung des Makros Code_Item1 element1klicken:
Sub Shortcut_AddItem()Dim myBar as Object
Set myBar = CommandBars("myShortcutBar")
With myBar
.Controls.Add (Type:=msoControlButton, before:=1).Caption = "Item1"
.Controls("Item1").OnAction = "Code_Item1"
End With
myBar.ShowPopup 200,200
End Sub

zurück zum Anfang

Deaktivieren Sie ein Steuerelement auf einer Menüleiste Kontextmenü

Der folgende Beispielcode deaktiviert Item1 -Befehl, den im Abschnitt "Erstellen eines Befehls im Kontextmenü" erstellt:
Sub Shortcut_DisableItem()   Set myBar = CommandBars("myShortcutBar")
myBar.Controls("Item1").Enabled = False
myBar.ShowPopup 200,200
End Sub
Hinweis Um das deaktivierte Element zu aktivieren, legen Sie die Enabled -Eigenschaft auf True.

zurück zum Anfang

Löschen eines Befehls auf einer Menüleiste Kontextmenü

Im folgenden Codebeispiel löscht den Menübefehl Item1 auf MyShortcutBar Kontextmenüleiste lautet:
Sub Shortcut_DeleteItem()   Set myBar = CommandBars("myShortcutBar")
myBar.Controls("Item1").Delete
myBar.ShowPopup 200,200
End Sub

zurück zum Anfang

Ein Kontextmenüleiste löschen

Die Kontextmenüleiste löschen entfernt alle Elemente. Eine gelöschte benutzerdefinierte Menüleiste können nicht wiederhergestellt werden. Um sie wiederherzustellen, müssen Sie und alle Menüelemente und Untermenüs neu erstellen.

Im folgenden Codebeispiel löscht MyShortCutBar Kontextmenüleiste, die im Abschnitt "Erstellen eines Befehls auf einer Menüleiste Kontextmenü" erstellt:
Sub Shortcut_DeleteShortCutBar()   CommandBars("MyShortCutBar").Delete
End Sub

zurück zum Anfang

Wiederherstellen Sie integrierte Kontextmenüleiste Befehl

Im folgenden Codebeispiel wird die Standardbefehle auf der Menüleiste Arbeitsblatt Zelle Verknüpfung wiederhergestellt:
Sub Shortcut_RestoreItem()   CommandBars("Cell").Reset
End Sub

zurück zum Anfang

Untermenüs in Kontextmenüs

Sie können Untermenüs auf Verknüpfung Menüleisten erstellen. Untermenüs werden auf das übergeordnete Menü beim Klicken auf ein Steuerelement. Ein Befehl ein Untermenü Steuerelement hat einen kleinen, schwarzen Pfeil rechts neben dem Namen.

zurück zum Anfang

Erstellen Sie ein neues Untermenü auf einem Kontextmenüleiste

Das folgende Beispiel fügt ein neues Untermenü mit dem Namen
NewSub im Kontextmenü Arbeitsblatt- Zelle :

Sub ShortcutSub_Create()   CommandBars("Cell").Controls.Add(Type:=msoControlPopup, before:=1) _
.Caption = "NewSub"
' This displays the shortcut menu bar.
' 200, 200 refers to the screen position in pixels as x and y coordinates.
CommandBars("Cell").ShowPopup 200, 200
End Sub
Hinweis Das Untermenü ist leer, da es keine Menüelemente hinzugefügt wurden.

zurück zum Anfang

Erstellen Sie ein Steuerelement in einem Untermenü befindet auf einem Kontextmenüleiste

Das folgende Makro fügt den SubItem1 Befehl im Untermenü NewSub im Kontextmenü Zelle erstellt, und dann Code_SubItem1 Makro ausgeführt, wenn Sie SubItem1klicken:
Sub ShortcutSub_AddItem()Dim newSubItem as Object
Set newSubItem = CommandBars("Cell").Controls("NewSub”)
With newSubItem
.Controls.Add(Type:=msoControlButton, before:=1).Caption = "subItem1"
' This will run the subItem1_Code macro when subItem1 is clicked.
.Controls("subItem1").OnAction = "Code_subItem1"
End With
' This displays the Cell shortcut menu bar.
' 200, 200 refers to the screen position in pixels as x and y coordinates
CommandBars("Cell").ShowPopup 200, 200
End Sub

zurück zum Anfang

Deaktivieren Sie ein Untermenü Steuerelement im Kontextmenü

Im folgenden Codebeispiel wird SubItem1 Befehl im Untermenü NewSub deaktiviert:
Sub ShortcutSub_DisableItem()   CommandBars("Cell").Controls("NewSub") _
.Controls("subItem1").Enabled = False
' This displays the Cell shortcut menu bar.
' 200, 200 refers to the screen position in pixels as x and y coordinates.
CommandBars("Cell").ShowPopup 200, 200
End Sub
Hinweis Um ein deaktiviertes Element zu aktivieren, legen Sie die Enabled -Eigenschaft auf True.

zurück zum Anfang

Löschen Sie ein Untermenü Steuerelement im Kontextmenü

Das folgende Beispiel löscht SubItem1 Befehl im Untermenü NewSub :
Sub ShortcutSub_DeleteItem()   CommandBars("Cell").Controls("NewSub").Controls("subItem1").Delete
' This displays the Cell shortcut menu bar.
' 200, 200 refers to the screen position in pixels as x and y coordinates.
CommandBars("Cell").ShowPopup 200, 200
End Sub


zurück zum Anfang

Ein Untermenü Steuerelement im Kontextmenü deaktivieren

Im folgenden Codebeispiel wird im Untermenü NewSub Zelle Kontextmenüleiste deaktiviert:
Sub ShortcutSub_DisableSub()   CommandBars("Cell").Controls("NewSub").Enabled = False
' This displays the Cell shortcut menu bar.
' 200, 200 refers to the screen position in pixels as x and y coordinates.
CommandBars("Cell").ShowPopup 200, 200
End Sub
Hinweis Um ein deaktiviertes Element zu aktivieren, legen Sie die Enabled -Eigenschaft auf True.

zurück zum Anfang

Löschen eines Steuerelements Untermenü in einem Kontextmenü

Im folgenden Codebeispiel löscht Untermenü NewSub Zelle Kontextmenüleiste erstellt haben:
Sub ShortcutSub_DeleteSub()   CommandBars("Cell").Controls("NewSub").Delete
' This displays the Cell shortcut menu bar.
' 200, 200 refers to the screen position in pixels as x and y coordinates.
CommandBars("Cell").ShowPopup 200, 200
End Sub


zurück zum Anfang

Finden Sie weitere Informationen

Die folgenden Ressourcen stehen weitere Informationen zum Anpassen von Menüs und Menüleisten in Excel.

zurück zum Anfang

Objektkatalog

Der Objektkatalog enthält eine vollständige Liste aller Eigenschaften und die Methoden für einen bestimmten Befehl. Um diese Informationen wechseln Sie zum Visual Basic-Editor (drücken Sie ALT + F11), klicken Sie auf das Menü Ansicht (oder durch Drücken von F2) Objektkatalog Geben Sie den Namen des Steuerelements im Feld Suchen und dann EINGABETASTE drücken oder auf
Suchen.

zurück zum Anfang

Microsoft Knowledge Base

Der Microsoft Knowledge Base ist eine primäre Microsoft Produkt Informationsquelle für Supportmitarbeiter von Microsoft Product Support Services. Der Microsoft Knowledge Base steht Kunden von Microsoft zur Verfügung. Diese umfassende Datenbank enthält detaillierte Artikel mit technischen Informationen zu Microsoft-Produkten, dokumentierte Update enthält Fehler, und Antworten auf häufig gestellte Fragen zum technischen Support.

Verbindung in der Microsoft Knowledge Base finden Sie auf der folgenden Microsoft-Website, und folgen Sie der Anleitung auf der Seite angezeigt:zurück zum Anfang
Eigenschaften

Artikelnummer: 830502 – Letzte Überarbeitung: 16.01.2017 – Revision: 1

Feedback