使用string调用Sub – VBA

我试图build立我的代码调用一个string基于这个问题的答案一个string试图通过使用Application.RunCallByName 调用一个string的VBA -但我得到:

运行时错误“1004”:应用程序定义或对象定义的错误

当我尝试Application.Run

运行时错误“438”:对象不支持此属性或方法

当我尝试CallByName。

调用子调用也在同一张纸上Sheets("Rozpad_hodnocení")

我试图通过名单上索引号的所有选项button,以find名称为“ne”的Obuttons,这是有效的。 有了这个find的索引,我想调用具有相同的索引号和名称“ne”的子。 被调用的subs是这样的:

 OB9Ne_Click() OB10Ne_Click() OB11Ne_Click() 

我不能移动我的代码forms或模块

这是一个代码示例:

 Sub adsf() Dim s As Shape Dim Pro As String For Each s In Sheets("Rozpad_hodnocení").Shapes If s.Type = 12 And s.Name Like "*Ne" Then Pro = s.Name + "_Click()" Application.Run Pro 'CallByName List3, Pro, VbMethod 'CallByName Sheets("Rozpad_hodnocení"), Pro, VbMethod End If Next End Sub 

也许答案是在以前的问题,但我没有设法调整我的代码。

感谢@Kyle,我将Subs更改为Public,@Macro Manbuild议删除Pro的括号,并将它们组合使用。