¿Cómo cambiar el nombre de un botón ActiveX recién creado?

Nov 26 2020

Según la respuesta de Mathieu , logré crear un botón ActiveX a través de

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

¿Cómo puedo cambiar el nombre de ese botón?

Desafortunadamente, estos enlaces no me llevaron a la solución:

  • Cambiar el nombre de un cuadro de lista ActiveX de Excel

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

Esto sería bastante glorioso, ya que le permite a uno agregar código relevante en el módulo de la hoja (por lo que puedo ver, el sub relevante siempre se llama [insert button name]_Click).

Respuestas

1 SiddharthRout Nov 26 2020 at 17:03

¿Es esto lo que estás intentando?

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