VBA-Beispiel 011
mail schreiben
mail schreiben

eigenes Kontextmenü für rechte Maustaste

Wenn Sie wissen was sie tun können Sie sich für die rechte Maustaste ein eigenes Kontextmenü erstellen und den Einträgen eigene Funktionen (Makros) zuweisen. Das kann sehr schnell und effektiv sein, wenn man in einer bestimmten Datei immer wieder bestimmte Aufgaben durchführen muß.
Allerdings sollte man beim experimentieren nicht den Weg zum Standardmenü aus den Augen verlieren ;-)

Sub Kontextmenue()
Dim Ctrl As CommandBarButton
    With CommandBars("Cell")
        While .Controls.Count > 0
            On Error Resume Next
            .Controls(1).Delete
        Wend
        Set Ctrl = .Controls.Add(msoControlButton)
        With Ctrl
            .Caption = "Zeile 8 blau"
            .OnAction = "Zeile8blau"
        End With
        Set Ctrl = .Controls.Add(msoControlButton)
        With Ctrl
        .Caption = "Spalte F grün"
        .OnAction = "SpalteFgr"
        End With
        Set Ctrl = .Controls.Add(msoControlButton)
        With Ctrl
        .Caption = "Formatierungen rückgängig"
        .OnAction = "bla"
        End With
        Set Ctrl = .Controls.Add(msoControlButton)
        With Ctrl
           'Trennstrich im Menü
            .BeginGroup = True
            .Caption = "Standardkontextmenü einstellen"
            .OnAction = "Zurueck"
        End With
    End With
End Sub

======================================================

Sub Zurueck()
'erstellt wieder das Standardkontextmenü
    CommandBars("Cell").Reset
End Sub

======================================================

Sub Zeile8blau()
    Rows("8:8").Interior.ColorIndex = 42
End Sub

Sub SpalteFgr()
    Columns("F:F").Interior.ColorIndex = 35
End Sub

Sub bla()
'Formatierungen Rückängig machen
    Cells.Interior.ColorIndex = xlNone
End Sub

Download:   vba011.zip