HERBERS Excel-Forum - die Beispiele

Thema: Blattschaltflächen in Menüschaltflächen konvertieren.

Home

Gruppe

Menue

Problem

Die ersten beiden Schaltflächen sollen dem Extras-Menü hinzugefügt bzw. aus dem Extras-Menü erstellt werden.

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.
StandardModule: Modul1

Sub MeldungA()
   MsgBox "Aufruf durch erste Schaltfläche"
End Sub

Sub MeldungB()
   MsgBox "Aufruf durch zweite Schaltfläche"
End Sub

Sub ConvertToCommandButton()
   Dim cnt As CommandBarControl
   Dim btn As CommandBarButton
   Dim wksBtn As Button
   Set cnt = Application.CommandBars.FindControl(ID:=30007)
   Set btn = cnt.Controls.Add
   With btn
      .Caption = ActiveSheet.Buttons("Btn1").Caption
      .OnAction = ActiveSheet.Buttons("Btn1").OnAction
      .Style = msoButtonCaption
   End With
   Set btn = cnt.Controls.Add
   With btn
      .Caption = ActiveSheet.Buttons("Btn2").Caption
      .OnAction = ActiveSheet.Buttons("Btn2").OnAction
      .Style = msoButtonCaption
   End With
   Set wksBtn = ActiveSheet.Buttons.Add( _
      Left:=Range("B11").Left, _
      Top:=Range("B11").Top, _
      Width:=Range("C12").Left + Range("C12").Width - Range("B12").Left, _
      Height:=Range("B12:B13").Height)
   With wksBtn
      .Caption = "Buttons zum Blatt"
      .OnAction = "ConvertToButton"
      .Name = "Btn4"
   End With
   ActiveSheet.Buttons("Btn1").Delete
   ActiveSheet.Buttons("Btn2").Delete
   ActiveSheet.Buttons("Btn3").Delete
End Sub

Sub ConvertToButton()
   Dim cnt As CommandBarControl
   Dim btn As CommandBarButton
   Dim wksBtn As Button
   Set cnt = Application.CommandBars.FindControl(ID:=30007)
   Set btn = cnt.Controls("Meldung A")
   Set wksBtn = ActiveSheet.Buttons.Add( _
      Left:=Range("B3").Left, _
      Top:=Range("B3").Top, _
      Width:=Range("C3").Left + Range("C3").Width - Range("B3").Left, _
      Height:=Range("B3:B4").Height)
   With wksBtn
      .Caption = btn.Caption
      .OnAction = btn.OnAction
      .Name = "Btn1"
   End With
   Set btn = cnt.Controls("Meldung B")
   Set wksBtn = ActiveSheet.Buttons.Add( _
      Left:=Range("B6").Left, _
      Top:=Range("B6").Top, _
      Width:=Range("C6").Left + Range("C6").Width - Range("B6").Left, _
      Height:=Range("B6:B7").Height)
   With wksBtn
      .Caption = btn.Caption
      .OnAction = btn.OnAction
      .Name = "Btn2"
   End With
   Set wksBtn = ActiveSheet.Buttons.Add( _
      Left:=Range("B9").Left, _
      Top:=Range("B9").Top, _
      Width:=Range("C9").Left + Range("C9").Width - Range("B9").Left, _
      Height:=Range("B9:B10").Height)
   With wksBtn
      .Caption = "Buttons zum Extra-Menü"
      .OnAction = "ConvertToCommandButton"
      .Name = "Btn3"
   End With
   cnt.Controls("Meldung A").Delete
   cnt.Controls("Meldung B").Delete
   ActiveSheet.Buttons("Btn4").Delete
End Sub

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

VBA E-Mail mit Button und Bedingungen Zeilen mit Button verschieben, mit Einschränkungen
Excel Form Kontextmenue geht nicht Rechteck per Button in andere Datei einfügen.
Option Button Wert aus Tabelle (x) OptionButton zur Auswahl
Button in UserForm soll CSV in neuer Instanz öffne Userform Toggle Button rücksetzen
Alle Buttons ausblenden Optionbutton zweimal klicken
Welcher Button wurde geklickt? Button als gelesen markiert ??
WebBrowser und CommandButton Button für Seite einrichten
Reiter in Multipage als Commandbutton Userform - CommandButton per Code löschen
Button für Makro in Taskleiste Button zum Ausdrucken
Info-Button in Excel-Tabelle einfügen Hyperlink als Button
Button automatisch deaktivieren Spinbutton in UF und Textbox
Button zum aktuellen Datum CommandButton nicht mit ausdrucken
Mehrere Buttons über ToggleButton aufrufen Command Button
Wenn Zelle grau dann UF CButton Enabled = False Modul starten per CommandButton ?!
Zellen Kontextmenue ausfuehren Toggle Button gleich nach Öffnung aktivieren
Druckbefehl hinter CommandButton festlegen? Seitenumbrüche unter Druck-Command Button ...
Wenn Button vorhanden, dann Commandbutton verschieben
Button klicken=>Aktion nach einer bestimmten Zeit Button ein-/ausblenden bei bestimmten Bedingungen
Wurde Optionbutton in Frame gewählt? Dynamisches Kontextmenue
ComboBox mit CommandButton verknüpfen Ein Button - zwei funktionen
CommandButton Code zur laufzeit erstellen Buttons - Makros
Button drücken während Zelleingabe Daten per button in tabelle2 schreiben
Button 1+,1- Mit Button in Excel Prozess auslösen
Makro per Button Starten/Beenden Makro für Pulldown Menue
Mauszeiger auf CommandButton Zeilen ausblenden über Button