VBA代码将名称分配给控制button,而不是让Excel生成从数字派生的button名称

这似乎是一个基本的问题,但我不知道如何做到这一点,我无法在互联网上find答案。 我有一个工作簿,我想生成一系列的命令button。 每个命令button绑定到一个特定的macros。 我真的希望有button名称自己根据他们将计算,而不是只生成名称,如“button346”。 但是,我不知道如何做到这一点。 虽然这对我的代码并不重要,但它会使用户体验更友好,因此我认为值得询问是否有人知道该怎么做。

这是我的代码示例。 我想命名button,“添加投资”

Selection.OnAction = "AB_Investment" ActiveSheet.Buttons.Add(2676.75, 90, 131.25, 14.25).Select 

请让我知道,如果我能进一步澄清。 我仍然是一个业余的vba编码,所以我很抱歉,如果这是一个超级基本的问题。

谢谢,

约西亚

既然你担心让“用户体验更友好”,我想你是指在button上显示的文本 ,它需要它的Caption属性:

 ActiveSheet.Buttons.Add(2676.75, 90, 131.25, 14.25).Select Selection.Caption = "Add Investments" 

这也可以缩短为:

 ActiveSheet.Buttons.Add(2676.75, 90, 131.25, 14.25).Caption = "Add Investments" 

如果你想,你可以进一步采取。 与往常一样,build议远离“ Select和“ Selection ,但使用所创build的button的引用对象。

 Sub AddButton() Dim Btn As Object Set Btn = ActiveSheet.Buttons.Add(2676.75, 90, 131.25, 14.25) With Btn .Caption = "Add Investments" ' you can modify other properties as well .Font.Bold = True End With End Sub 

考虑:

 Sub ButtonNamer() ActiveSheet.Buttons.Add(2676.75, 90, 131.25, 14.25).Select Selection.Name = "Add Investment" End Sub 

在这里输入图像说明

注意:

该button的名称与其标题不同