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 Sub
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