Folgende VBA Funktion entfernt in Excel die Anzeige der „Zellen einfügen“ und „Zellen löschen“ Option aus dem Kontextmenü. Getestet in Excel 2007 und Excel 2003.
Sub entfernen() '"Zelle Einfügen" im Zellen-Bereich entfernen Application.CommandBars("Cell").Controls(5).Visible = False '"Zelle Löschen" im Zellen-Bereich entfernen Application.CommandBars("Cell").Controls(6).Visible = False '"Zelle Einfügen" im Heading-Bereich entfernen Application.CommandBars("Row").Controls(5).Visible = False '"Zelle Löschen" im Heading-Bereich entfernen Application.CommandBars("Row").Controls(6).Visible = False End Sub |
Der Eintrag wird hierbei nicht gelöscht, sondern nur auf invisible gesetzt. Zum Löschen kann der Befehl nach folgendem Schema umgeschrieben werden:
Application.CommandBars("Cell").Controls(6).Delete |
Zum Widerherstellen der Kontextmenüs kann folgende vba-Funktion verwendet werden:
Sub reset_commandbars() Application.CommandBars("Row").Reset Application.CommandBars("Cell").Reset End Sub |
vorher: | nachher: |