Vorhandenes Kontextmenü erweitern

Hinweis: Dieses Makro funktioniert nur bis einschl. der Version Excel 2003

Dieses Makro erweitert ein vorhandenes Kontextmenü um einen Eintrag. In diesem Fall heißt der neue Eintrag "Meine eigene Routine".

Sub kontextmenue_erweitern()
    'Den Eintrag "Meine eigene Routine" löschen
    Call kontextmenue_loeschen
    
    Dim Kontext As Object
    'Eigenen Eintrag hinzufügen
    Set Kontext = CommandBars("Cell").Controls.Add
    Kontext.BeginGroup = True
    With Kontext
        .Caption = "Meine eigene Routine"
        .OnAction = "Makro"
        .FaceId = 122
    End With
End Sub



Dieses Makro löscht den Eintrag "Meine eigene Routine"

Sub kontextmenue_loeschen()
   'Eintrag "Meine eigene Routine" löschen
   On Error Resume Next
   CommandBars("Cell").Controls("Meine eigene Routine").Delete
End Sub




Hierbei handelt es sich um den Code, der ausgeführt wird, wenn der Kontext-Menüpunkt "Meine eigene Routine" angeklickt wurde.

Sub Makro()
    'Makro das ausgeführt wird, wenn der Menüpunkt "Meine eigene Routine"
    'angeklickt wird
    MsgBox "Du hast mich angeklickt!", vbExclamation
End Sub




Dieses Makro setzt das Kontextmenü in den Ursprungszustand zurück.

Sub reset()
'Kontextmenü in den Ursprungszustand zurücksetzen
Application.CommandBars("Cell").reset
End Sub