Alterar nome do botão de comando ActiveX usando o VBA no Excel
Eu estou tentando alterar a propriedade de nome de botões de comando do ActiveX com o VBA com o seguinte código:
Set shp = ActiveSheet.Shapes(Selection.Name)
With shp.OLEFormat.Object
.Object.Caption = "Node" & Str(NumNodes)
.Name = "Node" & Str(NumNodes)
End With
Eu sou capaz de alterar o nome da legenda, mas a propriedade do nome não pode ser alterada com o código acima. Eu preciso encontrar uma maneira de concatenar uma string com um int (NumNodes) para a propriedade name.
ATUALIZAR
Esta é a sub-rotina completa que copia um botão de comando e o cola em um local específico da célula. Propriedades, como o nome e a legenda, também são alteradas após a criação do botão.
Public Sub Node_Button_Duplication()
'
'Comments: Copies and pastes Node 1's button to the appropriate column
Dim shp As Shape
' Copy Node 1 button and paste in appropriate location
ActiveSheet.Shapes("CommandButton1").Select
Selection.Copy
Cells(5, 10 + 7 * (NumNodes - 1) - 1).Select
ActiveSheet.Paste
Selection.ShapeRange.IncrementLeft 47.25
Selection.ShapeRange.IncrementTop -13.5
Set shp = ActiveSheet.Shapes(Selection.Name)
With shp.OLEFormat.Object
.Object.Caption = "Node" & Str(NumNodes)
.Name = "Node" & Str(NumNodes)
End With
End Sub