VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

Kontextmenü zur Auswahl von Arbeitsblättern aufrufen

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

    


Beiträge aus dem Excel-Forum zu den Themen Menue und Context