Wie benenne ich eine neu erstellte ActiveX-Schaltfläche um?

Nov 26 2020

Per Mathieus Antwort gelang es mir, eine ActiveX-Schaltfläche über zu erstellen

Sub aaaaaaaa()
Dim newButton As Object
Set newButton = Sheets(sheetname_KvE).OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
    Link:=False, _
    DisplayAsIcon:=False, _
    Left:=800, _
    Top:=0, _
    Width:=300, _
    Height:=30).Object
With newButton
    .Caption = "bla"
    '.Name = "Button_what" ' - THIS DOES NOT WORK!
End With
End Sub

Wie kann ich diese Schaltfläche umbenennen?

Leider haben mich diese Links nicht zur Lösung geführt:

  • Ändern des Namens einer Excel ActiveX ListBox

  • https://answers.microsoft.com/en-us/msoffice/forum/all/vba-code-to-modify-the-name-property-of-an-activex/d23b4ee5-aef4-425b-8a19-2899b65651e2

Dies wäre ziemlich herrlich, da man damit relevanten Code in das Modul des Blattes einfügen kann (soweit ich sehen kann, wird das relevante Sub immer aufgerufen [insert button name]_Click).

Antworten

1 SiddharthRout Nov 26 2020 at 17:03

Versuchen Sie das?

Sub Sample()
    Dim newButton As OLEObject
    Dim ws As Worksheet
    
    Set ws = Sheets(sheetname_KvE)
    Set newButton = ws.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
                                      Link:=False, _
                                      DisplayAsIcon:=False, _
                                      Left:=800, _
                                      Top:=0, _
                                      Width:=300, _
                                      Height:=30)
    newButton.Object.Caption = "bla"
    newButton.Name = "Button_what"
End Sub