VBA代码为控制按钮分配名称而不是让excel生成从数字派生的按钮名称

时间:2016-12-31 16:21:40

标签: excel vba excel-vba

这似乎是一个基本问题,但我无法弄清楚如何做到这一点,我无法在互联网上找到答案。我有一个工作簿,我想生成一系列的命令按钮。每个命令按钮都绑定到某个宏。我真的希望按钮按照他们将要计算的内容命名,而不是只生成诸如“按钮346”之类的名称。但是,我无法弄清楚如何实现这一目标。虽然这对我的代码并不重要,但它会让用户体验更加友好,因此我觉得值得问一下是否有人知道该怎么做。

以下是我的代码示例。我想将按钮命名为“添加投资”

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

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

谢谢,

乔赛亚

3 个答案:

答案 0 :(得分:3)

如果您愿意,可以进一步了解。与往常一样,建议远离SelectSelection,但使用引用的对象创建按钮。

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

答案 1 :(得分:1)

考虑:

int*

enter image description here

注意:

该按钮的名称与其标题不同。

答案 2 :(得分:1)

因为你担心让“用户体验更加友好”我猜你指的是按钮上显示的 text ,它要求{{ 1}} property:

Caption

也可以缩短为:

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