Zmień nazwę przycisku polecenia ActiveX za pomocą VBA w programie Excel
Próbuję zmienić właściwość nazwy przycisków poleceń ActiveX za pomocą języka VBA z następującym kodem:
Set shp = ActiveSheet.Shapes(Selection.Name)
With shp.OLEFormat.Object
.Object.Caption = "Node" & Str(NumNodes)
.Name = "Node" & Str(NumNodes)
End With
Mogę zmienić nazwę podpisu, ale właściwości name nie można zmienić za pomocą powyższego kodu. Muszę znaleźć sposób na połączenie ciągu znaków z int (NumNodes) dla właściwości name.
AKTUALIZACJA
Jest to pełny podprogram, który kopiuje przycisk polecenia i wkleja go do określonej lokalizacji komórki. Właściwości, takie jak nazwa i podpis, są również zmieniane po utworzeniu przycisku.
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