Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1216to1220
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

Art des SheetBeforeRightClick ermitteln

Art des SheetBeforeRightClick ermitteln
Martin
Hallo,
beim Klick auf die rechte Maustaste bietet Excel verschiedene Kontextmenüs an. Beim Klick auf eine normale Zelle wird zum Beispiel das Kontextmenü CommandBars("Cell") angezeigt, während beim Klick auf eine Zeile das Kontextmenü CommandBars("Row") aufgerufen wird:
Userbild
Ich möchte gerne benutzerdefinierte Kontextmenüs erzeugen. Mir ist zwar bewusst, dass ich mit dem SheetBeforeRightClick-Ereignis das Klicken der rechten Maustaste abfangen kann, aber wie kann ich zugleich ermitteln, welche Art von Kontextmenü (also z.B. CommandBars("Cell") oder CommandBars("Row")) vom Anwender aufgerufen wurde?
Viele Grüße
Martin

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Art des SheetBeforeRightClick ermitteln
20.06.2011 13:35:17
Rudi
Hallo,
dann bau doch einfach deine ben.def. Menüs in Cell bzw Row ein.
Gruß
Rudi
AW: Art des SheetBeforeRightClick ermitteln
20.06.2011 13:47:22
Martin
Hallo Rudi,
vielen Dank für deinen Vorschlag. Ursprünglich hatte ich es auch so gemacht, aber leider gab es unter Excel 2007 dann Probleme mit der "msoControlComboBox".
( Siehe https://www.herber.de/forum/archiv/1116to1120/t1118920.htm )
Weil die "msoControlComboBox" in im Standard-Kontextmenü CommandBars("Cell") nicht mehr funktionierte, musste ich dann ein ganz eigene Commandbar (msoBarPopup) gestalten und mit ".ShowPopup" aufgerufen. Daher suche ich nach einer Lösung die Art des Rechtsklicks der Maus abzufragen.
Viele Grüße
Martin
Anzeige
AW: Art des SheetBeforeRightClick ermitteln
20.06.2011 14:28:03
Rudi
Hallo,
ne Krücke:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Count / Target.Columns.Count = Rows.Count Then
MsgBox "Spalten"
ElseIf Target.Count / Target.Rows.Count = Columns.Count Then
MsgBox "Zeilen"
Else
MsgBox "Zellen"
End If
End Sub

Gruß
Rudi
... aber eine funktionierende Krücke! Danke!
20.06.2011 14:35:34
Martin
Hallo Rudi,
auch wenn du es als "Krücke" bezeichnest, es scheint zuverlässig zu funktionieren. Vielen Dank für deine Unterstützung.
Viele Grüße
Martin

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige