Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Kontextmenü auf Tabelle1 begrenzen

Kontextmenü auf Tabelle1 begrenzen
31.10.2012 06:30:33
Wolfgang
Hallo,
folgender Code erstellt ein Kontextmenü mit re. Maustaste; Wie muß ich den Code ändern, damit das Kontextmenü ausschließlich in Tabellenblatt1 erscheint und in den anderen Tabellenblätter wieder das übliche Menü? Läßt sich der Zusatz, der wohl immer im normalen Kontextmenü erscheint und der Formatierung dient, irgendwie abstellen? - Schon jetzt herzlichen Dank für die Rückmeldungen.
Gruß - Wolfgang
Sub EigenesKontextMenüErstellen()
Dim KonBef As CommandBarButton
With Worksheets("Tabelle1") 'das läuft irgendwie nicht
With CommandBars("Cell")
While .Controls.Count > 0
On Error Resume Next
.Controls(1).Delete
Wend
Set KonBef = .Controls.Add(msoControlButton)
With KonBef
.Caption = "Import1"
.FaceId = 480
.OnAction = "Name des Makros"
End With
Set KonBef = .Controls.Add(msoControlButton)
With KonBef
.Caption = "Import2"
.FaceId = 5
.OnAction = "Name des Makros"
End With
Set KonBef = .Controls.Add(msoControlButton)
With KonBef
.Caption = "Datenimport stoppen"
.FaceId = 50
.OnAction = "Name des Makros"
End With
End With
End With
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Kontextmenü auf Tabelle1 begrenzen
31.10.2012 07:24:35
Marc
Moin!
Das Kontextmenü ist erstmal unabhängig vom gewählten Sheet.
Das bedeutet, das du jedesmal ein Sheet_Change-Ereignis auslösen mußt, in dem du abfragst, ob _ grad sheet 1 gewählt ist oder nicht. Dem entsprechende setzt du das Kontextmenü zurück oder modifizierst es. Zurücksetzten geht mit

Application.CommandBars("Cell").Reset
Gruß, MCO

Anzeige
AW: Kontextmenü auf Tabelle1 begrenzen
31.10.2012 08:01:50
Beverly
Hi Wolfgang,
ins Codemodul DieseArbeitsmappe diesen Code:
Option Explicit
Private Sub Workbook_Open()
EigenesKontextMenueErstellen
End Sub
Private Sub Workbook_Activate()
EigenesKontextMenueErstellen
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Cell").Reset
End Sub
Private Sub Workbook_Deactivate()
Application.CommandBars("Cell").Reset
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "Tabelle1" Then
EigenesKontextMenueErstellen
Else
Application.CommandBars("Cell").Reset
End If
End Sub
und in ein allgemeines Modul diesen Code:
Sub EigenesKontextMenueErstellen()
Dim KonBef As CommandBarButton
If ActiveSheet.Name = "Tabelle1" Then
With CommandBars("Cell")
While .Controls.Count > 0
On Error Resume Next
.Controls(1).Delete
Wend
Set KonBef = .Controls.Add(msoControlButton)
With KonBef
.Caption = "Import1"
.FaceId = 480
.OnAction = "Name des Makros"
End With
Set KonBef = .Controls.Add(msoControlButton)
With KonBef
.Caption = "Import2"
.FaceId = 5
.OnAction = "Name des Makros"
End With
Set KonBef = .Controls.Add(msoControlButton)
With KonBef
.Caption = "Datenimport stoppen"
.FaceId = 50
.OnAction = "Name des Makros"
End With
End With
End If
End Sub


Anzeige
Danke Marc und Beverly !
31.10.2012 18:46:23
Wolfgang
Hallo Marc und Beverly,
Danke für Eure Rückmeldung und die Hinweise bzw. den Code. Ich habe ihn im Laufe des Tages "eingebaut" und getestet er läuft soweit tadellos. Es taucht allerdings ein Phänomen auf, welches ich noch nicht erklären kann, aber nichts mit diesem Code direkt zu tun haben wird. Wenn ich über einen anderen Code (mit Makrorekorder aufgenommen) Daten aus einer Textdatei importiere -ausglöst über das Kontextmenü-, tut sich mit Deinem Code, Beverly, nichts mehr - selbst ein manuelles Auslösen imponiert VBA nicht. Will das in ruhiger Minute mal mit dem Debugger durchchecken um zu schauen, wo der Bock liegen könnte. Einstweilen nochmals vielen Dank !
Gruß - Wolfgang
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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