HERBERS Excel-Forum - die Beispiele

Thema: Neues Menü im Extras-Menü

Home

Gruppe

Menue

Problem

Wie kann ich im Extras-Menü ein neues Menü mit 3 Menüpunkten anlegen? Den Menüpunkten soll Code zum Berechnen von Quadratmeter Außenfeläche und Kubikmeter hinterlegt sein.

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

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Dim oPopUp As CommandBarPopup
   Set oPopUp = Application.CommandBars("Worksheet Menu Bar").FindControl(ID:=30007)
   On Error Resume Next
   oPopUp.Controls("Berechnungen").Delete
   On Error GoTo 0
End Sub

Private Sub Workbook_Open()
   Dim oPopUpA As CommandBarPopup
   Dim oPopUpB As CommandBarPopup
   Dim oButton As CommandBarButton
   Set oPopUpA = Application.CommandBars( _
      "Worksheet Menu Bar").FindControl(ID:=30007)
   On Error Resume Next
   oPopUpA.Controls("Berechnungen").Delete
   On Error GoTo 0
   Set oPopUpB = oPopUpA.Controls.Add(msoControlPopup)
   With oPopUpB
      .Caption = "Berechnungen"
      .BeginGroup = True
   End With
   Set oButton = oPopUpB.Controls.Add
   With oButton
      .Caption = "Daten anlegen"
      .OnAction = "AnlegenDaten"
   End With
   Set oButton = oPopUpB.Controls.Add
   With oButton
      .Caption = "Cbm errechnen"
      .OnAction = "ErrechnenCbm"
   End With
   Set oButton = oPopUpB.Controls.Add
   With oButton
      .Caption = "Qm Errechnen"
      .OnAction = "ErrechnenQm"
   End With
   oPopUpB.Visible = True
End Sub

StandardModule: basMain

Sub AnlegenDaten()
   Dim dFactor As Double
   Dim iRow As Integer, iCol As Integer
   dFactor = 1
   Range("A1") = "Länge"
   Range("B1") = "Breite"
   Range("C1") = "Höhe"
   Range("D1") = "Cbm"
   Range("E1") = "qmAfl"
   Rows(1).Font.Bold = True
   For iRow = 2 To 10
      For iCol = 1 To 3
         Cells(iRow, iCol) = 1.1 + dFactor
         dFactor = dFactor + dFactor * 0.1
      Next iCol
   Next iRow
   Columns("A:C").NumberFormat = "#,##0.00"
   Columns("D").NumberFormat = "#,##0.000"
   Columns("E").NumberFormat = "#,##0.00"
   Columns("A:E").HorizontalAlignment = xlRight
End Sub

Sub ErrechnenCbm()
   Dim iRow As Integer
   For iRow = 2 To 10
      Cells(iRow, 4).FormulaR1C1 = "=RC[-3]*RC[-2]*RC[-1]"
   Next iRow
End Sub

Sub ErrechnenQm()
   Dim iRow As Integer
   For iRow = 2 To 10
      Cells(iRow, 5).FormulaR1C1 = _
         "=2*(RC[-3]*RC[-2]+RC[-3]*RC[-1]+RC[-2]*RC[-1])"
   Next iRow
End Sub

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

Info popup Fenster beim klicken Excel Form Kontextmenue geht nicht
Popup schließt nicht automatisch Popup
Popup stoppt ganzes Makro bis zum Schließen Zellen Kontextmenue ausfuehren
Dynamisches Kontextmenue makro per popupdropdown ansteuern
Makro für Pulldown Menue Menueeintrag einbinden
makro in kontextabhängiges Befehlsmenue Menue mit eigenen Macros versehen
Entfernen eines Eintrages im Kontextmenue Untermenue von Menueleiste
Adresszeile/Formelzeile im Menue ist weg FaceId bei Untermenue möglich?
Hilfe bei Infofenster/Popup Menue Leiste ein ausblenden
aktueller Monat als Start-Monat für Popup-Kalender Menue nur erstellen, wenn noch nicht vorhadnen
Menuebar ausblenden Wenn Datum erreicht Popup
2003 Menuepunkte in 2007 finden Kontexmenue
CommandBarPopup (faceID) PopUp farbig darstellen
Menü Popup/Button Beschriftung Filter als Dropdown-Menue in neuem Tabellenblatt
Menue Popup mit Excel wenn Datum erreicht
Eigenes Formatierungsmenue Popup mit Button
Kontextmenue Autofilter, polldown Menue in Fragmenten?
Drop down Menue Excel Menues mit Bildern
Pfeil im Drop-Down-Menue dauerhaft Drop Down Menue in Zelle
Abhängige Drop-Down-Menues Mehrere Untermenues + Application.caller() Problem
Menue - Makro editieren Problem mit Popup-Symbolleiste
Popup mit Abstand zur Zelle erscheinen lassen Menueleiste zerschossen
Menueerweiterung um Bildchens Pulldown Menueeintraege disablen enablen?
PopUp nur bei bestimmten Benutzer Menueleiste "Überarbeiten" nie anzeigen !
Popup-Symbolleiste über Button schliessen Kalender: Wahl-Datum aus Popup-Fenster einlesen