我正在尝试构建我的代码,该代码根据对这个问题 Trying to call a Sub with a String - VBA 的答案调用带有字符串的 Sub通过使用 Application.Run
或 CallByName
但我得到:
Run-time error '1004': Application-defined or object-defined error
当我尝试 Application.Run
和
Run-time error '438': Object doesn't supprot this property or method
当我尝试 CallByName 时。
调用以及调用 Subs 在同一张表中
Sheets("Rozpad_hodnocení")
.我正在尝试浏览该表上名称中带有索引号的所有选项按钮,以找到名称中带有“ne”的Obuttons,这很有效。有了这个找到的索引,我想用相同的索引号和名称中的“ne”调用一个子。
调用的 subs 是这样的:
OB9Ne_Click()
OB10Ne_Click()
OB11Ne_Click()
我无法将代码移动到表单或模块
这是代码示例:
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 Man 建议从 Pro
中删除括号结合这些,它可以工作。
关于vba - 用字符串调用 Sub - VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36331988/