Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Bei geteiltem Fenster Kontextmenü im jeweils anderen Fenster

Gruppe

Context

Problem

Wie kann ich bei einem senkrecht geteilten Fenster beim Drücken der rechten Maustaste ein benutzerdefiniertes Kontextmenü im jeweils anderen Fenster aufklappen lassen?

Lösung
Geben Sie den Ereigniscode in das Klassenmodul der Arbeitsmappe ein.

ClassModule: DieseArbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Call CmdDelete
End Sub

Private Sub Workbook_Open()
   Dim oBar  As CommandBar
   Dim oBtn As CommandBarButton
   Call CmdDelete
   Set oBar = Application.CommandBars.Add("Links", msoBarPopup)
   Set oBtn = oBar.Controls.Add
   With oBtn
      .Caption = "Links"
      .OnAction = "MeldungLinks"
   End With
   Set oBar = Application.CommandBars.Add("Rechts", msoBarPopup)
   Set oBtn = oBar.Controls.Add
   With oBtn
      .Caption = "Rechts"
      .OnAction = "MeldungRechts"
   End With
End Sub

ClassModule: Tabelle1

Private Sub Worksheet_BeforeRightClick( _
   ByVal Target As Range, Cancel As Boolean)
   Cancel = True
   If ActiveCell.Column < 6 Then
      CommandBars("Links").ShowPopup 500, 200
   Else
      CommandBars("Rechts").ShowPopup 200, 200
   End If
End Sub

StandardModule: basMain

Sub MeldungLinks()
   MsgBox "Aufruf aus der linken Abteilung!"
End Sub

Sub MeldungRechts()
   MsgBox "Aufruf aus der rechten Abteilung!"
End Sub

Sub CmdDelete()
   On Error Resume Next
   With Application
      .CommandBars("Links").Delete
      .CommandBars("Rechts").Delete
   End With
   On Error GoTo 0
End Sub

    

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