Gruppe
Menue
Bereich
Context
Thema
Kontextmenü zur Auswahl von Arbeitsblättern aufrufen
Problem
Wie kann ich mir bei Rechtsklick in einer Tabelle ein Kontextmenü mit der aktuellen Arbeitsblattauswahl anzeigen lassen und in das jeweils ausgewählte Arbeitsblatt springen?
Lösung
Geben Sie den Ereigniscode in das Klassenmodul der Arbeitsmappe ein.
ClassModule: DieseArbeitsmappe
Private Sub Workbook_SheetBeforeRightClick( _
ByVal Sh As Object, ByVal Target As Excel.Range, _
Cancel As Boolean)
Dim oBar As CommandBar
Dim oBtn As CommandBarButton
Dim wks As Worksheet
Cancel = True
Call CmdDelete
Set oBar = Application.CommandBars.Add("Register", msoBarPopup)
For Each wks In ThisWorkbook.Worksheets
Set oBtn = oBar.Controls.Add
With oBtn
.Caption = wks.Name
.Style = msoButtonCaption
.OnAction = "mnuAuswahl"
End With
Next wks
oBar.ShowPopup
End Sub
StandardModule: basMain
Sub mnuAuswahl()
Worksheets(Application.Caller(1)).Select
End Sub
Sub CmdDelete()
On Error GoTo ERRORHANDLER
Application.CommandBars("Register").Delete
ERRORHANDLER:
End Sub