Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro zum Ausschalten Kontextmenü

Forumthread: Makro zum Ausschalten Kontextmenü

Makro zum Ausschalten Kontextmenü
13.08.2003 11:52:49
Roland
Hallo,
nun ist es mir schon gelungen zu Verhindern, daß sich jemand an meinen Makros vergreift, in dem ich mit unten folgendem Code die Schaltflächen "bearbeiten" etc. deaktiviert habe.
Nun möchte ich das Ganze auch mit dem Arbeitsblatt-Register und den Zeilen- und Spaltenköpfen machen, aber der Code funktioniert dafür (entsprechend umgeabreitet) nicht. Was muß ich tun ?
Code:

Sub Menü_deaktivieren( )
Dim ctrl As CommandBar
On Error Resume Next
For Each ctrl In Application.CommandBars("Extras".Controls
CommandBars("Worksheet Menu Bar").Controls("Extras").Controls("Makros").Enabled = False
Next ctrl
End Sub

Danke
Roland
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro zum Ausschalten Kontextmenü
13.08.2003 12:34:33
Galenzo
Füge diese Makros unter "DieseArbeitsmappe" ein:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("cell").Enabled = True
End Sub


Private Sub Workbook_Open()
Application.CommandBars("cell").Enabled = False
End Sub

Für diese Arbeitsmappe ist dann das Kontextmenü deaktiviert und wird beim SChließen wieder eingeschaltet.

Anzeige
AW: Makro zum Ausschalten Kontextmenü
13.08.2003 14:22:19
Roland
Herzlichen Dank,
hab mich aber wohl mißverständlich ausgedrückt, meinte nicht das Kontextmenü mit "rechts-Klick", sondern das Menü "Extras", "Optionen"..... "Arbeitsblatt-Register" und "Zeilen- und Spaltenköpfe", welches ich gerne verhindern wollte.
gruß
Roland

AW: Makro zum Ausschalten Kontextmenü
15.08.2003 10:08:20
galenzo
Mit: Application.CommandBars("Tools").Enabled = False
kannst du das komplette Menü "Extras" deaktivieren.
Mit: Application.CommandBars("Tools").visible = False
kannst du das komplette Menü "Extras" ausblenden.
Um den Menü-Unterpunkt "Optionen" in "Extras" zu deaktivieren nimm:
Application.CommandBars("Tools").Controls(16).Enabled = False

Anzeige
;
Anzeige

Infobox / Tutorial

Makro zum Ausschalten des Kontextmenüs in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und die Arbeitsmappe, in der du das Kontextmenü deaktivieren möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge den folgenden Code in das Modul „DieseArbeitsmappe“ ein:

    Private Sub Workbook_Open()
       Application.CommandBars("cell").Enabled = False
    End Sub
    
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
       Application.CommandBars("cell").Enabled = True
    End Sub
  4. Schließe den VBA-Editor und speichere deine Arbeitsmappe als „Excel-Makroaktivierte Arbeitsmappe“ (.xlsm).

  5. Starte die Arbeitsmappe neu, um die Änderungen zu aktivieren.


Häufige Fehler und Lösungen

  • Fehler: Das Kontextmenü wird nicht deaktiviert.

    • Lösung: Überprüfe, ob der Code im richtigen Modul eingefügt wurde. Der Code muss in „DieseArbeitsmappe“ und nicht in einem normalen Modul platziert werden.
  • Fehler: Kontextmenü wird beim Schließen nicht wieder aktiviert.

    • Lösung: Stelle sicher, dass der Workbook_BeforeClose-Code korrekt implementiert ist.

Alternative Methoden

Eine alternative Methode, um das Kontextmenü in Excel zu deaktivieren, ist die Verwendung des folgenden Codes, um das gesamte „Extras“-Menü auszublenden:

Application.CommandBars("Tools").Visible = False

Dies kann nützlich sein, wenn du alle Optionen im Menü "Extras" nicht anzeigen möchtest.


Praktische Beispiele

Um das Menü „Optionen“ im „Extras“-Menü zu deaktivieren, kannst du diesen Code verwenden:

Application.CommandBars("Tools").Controls(16).Enabled = False

Dieser Befehl deaktiviert speziell den Menüpunkt „Optionen“, wodurch der Zugriff auf bestimmte Einstellungen in Excel eingeschränkt wird.


Tipps für Profis

  • Nutze die On Error Resume Next-Anweisung: Wenn du mit mehreren Befehlselementen arbeitest, kann es hilfreich sein, diese Anweisung zu verwenden, um Fehler zu ignorieren und den Code stabiler zu machen.

  • Teste den Code in einer Kopie deiner Arbeitsmappe, bevor du ihn in einer produktiven Umgebung verwendest, um sicherzustellen, dass alles wie gewünscht funktioniert.


FAQ: Häufige Fragen

1. Wie kann ich das Kontextmenü wieder aktivieren?
Um das Kontextmenü wieder zu aktivieren, musst du den Code in der Workbook_BeforeClose-Subroutine verwenden, wie im Schritt-für-Schritt-Anleitung beschrieben.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, die oben genannten Makros sollten in den meisten modernen Excel-Versionen (z. B. Excel 2010 und später) funktionieren, solange Macros aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige