15.10.2023, 12:48 
		
	
	
		Hallo zusammen,
ich bin dabei in einem Excel eine Art Navigationsleiste mittels CommandButtons aufzubauen.
Die Erstellung soll hierbei per Code geschehen.
Das der Button erstellt wird, bekomme ich hin, allerdings bereitet mir der "OnAction"-Befehl Probleme.
Ich habe ein Navigationsmodul (in dem die unten vorgestellte Prozedur ebenfalls beheimatet ist) und möchte hardcoden, welches Makro bei welchem Button hinterlegt werden soll.
Anbei der Code bis hierhin:
Ich erhalte Laufzeitfehler 438 - diese Eigenschaft würde nicht unterstützt.
Kann mir hier jemand etwas auf die Sprünge helfen, wie ich das Makro dem Button hinzufügen kann?
Danke euch schonmal im Voraus und schönen Rest-Sonntag.
LG,
Domi
	
	
	
	
ich bin dabei in einem Excel eine Art Navigationsleiste mittels CommandButtons aufzubauen.
Die Erstellung soll hierbei per Code geschehen.
Das der Button erstellt wird, bekomme ich hin, allerdings bereitet mir der "OnAction"-Befehl Probleme.
Ich habe ein Navigationsmodul (in dem die unten vorgestellte Prozedur ebenfalls beheimatet ist) und möchte hardcoden, welches Makro bei welchem Button hinterlegt werden soll.
Anbei der Code bis hierhin:
Code:
'Fügt die Buttons für die Navigation ein
Public Sub Navigationsbuttons()
Dim ws As Worksheet
Dim Button As OLEObject
Dim ButtonName As String
Dim Tabelle As String
Dim i As Byte
'Belegt die benötigten Variablen
Set ws = ThisWorkbook.ActiveSheet
Tabelle = ws.CodeName
'Schleife, um die Namen der Buttons zu generieren
For i = 1 To 5
  If i = 1 Then
    ButtonName = "Startseite"
  ElseIf i = 2 Then
  ElseIf i = 3 Then
  ElseIf i = 4 Then
  ElseIf i = 5 Then
  End If
  
  'Sucht nach dem entsprechenden Button
  On Error Resume Next
  Set Button = ws.OLEObjects(ButtonName)
  On Error GoTo 0
  
  'Wenn der Button existiert, wird der Schritt übersprungen, ansonsten wird er erstellt und hinzugefügt
  If Button Is Nothing Then
    Set Button = ws.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False, Left:=100, Top:=100, Width:=100, Height:=30)
    With Button
      .Name = WorksheetFunction.Concat("cmdNavi_", ButtonName)  'Name des Buttons
      .Object.Caption = ButtonName  'Beschriftung des Button
      .Object.OnAction = "Navigation.NavigationTabelle1"   'hier bereitet mir der Code Probleme
    End With
  End If
  
Next i
End SubKann mir hier jemand etwas auf die Sprünge helfen, wie ich das Makro dem Button hinzufügen kann?
Danke euch schonmal im Voraus und schönen Rest-Sonntag.
LG,
Domi

 
 
 VBA: Button erstellen und Makro zuweisen
 VBA: Button erstellen und Makro zuweisen
				
 
![[-]](https://www.clever-excel-forum.de/images/collapse.png)
