使用stringvariables在VBA中设置对象variables? (Excel 2013)

我有一个页面上的一些ActiveX控件/button,我想修改button的几个参数(在循环function)。

我很好,编写循环function来实现这一点,但无法find一种方法来引用使用stringvariables的对象。 我已经build立了一个对象variables(如下所示)和一个stringvariables来改变对象variables的引用 – 但是找不到一个方法让它工作。

这是不起作用的代码:

Private Sub TrialCode_Click() Dim ButtonObj As Object Dim ButtonCaption As String Dim ButtonString As String ButtonString = "CommandButton1" Set ButtonObj = ButtonString ButtonCaption = "Something" ButtonObj.Caption = ButtonCaption 'example of the kind of parameters I want to change End Sub 

Set ButtonObj = ButtonString是失败的命令,报告types不匹配错误。

我在Excel 2013中工作。

我真的希望有办法做到这一点。 任何帮助将非常感谢!

CommandButton属于一个OLEObject

尝试

 ButtonString = "CommandButton1" Set ButtonObj = ActiveSheet.OLEObjects(ButtonString) ButtonCaption = "Something" ButtonObj.Object.Caption = ButtonCaption 'example of the kind of parameters I want to change 

请注意,一些属性直接发生在ButtonObj下,其他的如Caption坐在Object下面

在这里输入图像说明