Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1860to1864
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Erweiterung Kontextmenue

Erweiterung Kontextmenue
20.12.2021 14:13:30
Bernd
Hallo liebe Excel-Gemeinde,
ich habe ein kleines Excel-Problem, was mir bis jetzt weder google noch die hiesige Suchfunktion lösen konnte, deswegen diese Frage an euch :)
Ich möchte in einem Tabellenblatt das Kontextmenue (RM) erweitern. Das habe ich mit folgenden Zeilen geschafft. Allerdings funktioniert das nur in den Zellen die nicht zu meiner Tabelle gehören. Daher meine Frage, gibt es einen Unterschied zwischen Tabellen und Tabellen? :)
Woran erkenne ich ihn und wie passe ich meinen Code an?

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim MB As CommandBarControl
Application.CommandBars("Cell").Reset
Set MB = Application.CommandBars("Cell").Controls.Add
With MB
.Caption = "Ordner 1 öffnen"
.OnAction = "OrdnerEinsOeffnen"
.FaceId = 23
End With
Set MB = Application.CommandBars("Cell").Controls.Add
With MB
.Caption = "Ordner  2 öffnen"
.OnAction = "OrdnerZweiOeffnen"
.FaceId = 23
End With
Set MB = Nothing
End Sub
Private Sub Worksheet_Deactivate()
Application.CommandBars("Cell").Reset
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.CommandBars("Cell").Reset
End Sub
Vielen Dank
Bernd

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

Betreff
Datum
Anwender
Anzeige
AW: Erweiterung Kontextmenue
20.12.2021 14:21:56
migre
Hallo Bernd!
gibt es einen Unterschied zwischen Tabellen und Tabellen
So gefragt, ja. Es gibt das Tabellenblatt und es gibt Bereiche auf dem Tabellenblatt die "als Tabelle formatiert" wurden - diese Bereiche sind dann sogenannte ListObjects. Für die ListObjects gibt es aber ein eigenes Kontextmenü, auf das Du dann auch gesondert referenzieren musst.
Ein Startpunkt: https://stackoverflow.com/questions/27447075/revised-excel-cell-context-menu-doesnt-work-in-table/29041477
LG Michael
Anzeige
AW: Erweiterung Kontextmenue
20.12.2021 14:56:19
Bernd
Wieder was gelernt :)
Vielen Dank Michael, hat funktioniert.
Neuer Code:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim MB As CommandBarControl
Application.CommandBars("List Range Popup").Reset
Set MB = Application.CommandBars("List Range Popup").Controls.Add
With MB
.Caption = "Ordner 1 öffnen"
.OnAction = "OrdnerEinsOeffnen"
.FaceId = 23
End With
Set MB = Application.CommandBars("List Range Popup").Controls.Add
With MB
.Caption = "Ordner  2 öffnen"
.OnAction = "OrdnerZweiOeffnen"
.FaceId = 23
End With
Set MB = Nothing
End Sub
Private Sub Worksheet_Deactivate()
Application.CommandBars("List Range Popup").Reset
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.CommandBars("List Range Popup").Reset
End Sub

Anzeige
AW: Erweiterung Kontextmenue
20.12.2021 15:14:58
migre
Hallo!
Was aus Deiner Frage nicht hervorging, aber ggf. erforderlich sein kann: Da Du ja jetzt die Unterscheidung der Bereiche ("Tabellen und Tabellen" ;-) ) kennst, könntest Du ja auch gezielt Kontextmenüs anbieten, je nachdem, in welchem Bereich die angeklickte Zelle liegt. Schematisch:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Me.ListObjects("MeineFormatierteTabelle").Range) Is Nothing Then
MsgBox "Zelle in Tabellenblatt ausgewählt"
'Kontextmenü-Code für Tabellenblatt
Else
MsgBox "Zelle in formatiertem Tabellenbereich ausgewählt"
'Kontextmenü-Code für formatierte Tabelle
End If
End Sub
Danke für die Rückmeldung, viel Erfolg noch
LG Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige