vba - 用字符串调用 Sub - VBA

标签 vba excel

我正在尝试构建我的代码,该代码根据对这个问题 Trying to call a Sub with a String - VBA 的答案调用带有字符串的 Sub通过使用 Application.RunCallByName但我得到:

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/

相关文章:

vba - 将电子邮件正文保存到 Word 文档

VBA - 识别从其他子程序/过程调用的子程序和函数

excel - 如何从 MS Access 2003 VBA 操作 MS Excel 分页符

sql - 在 MS-Access VBA 中查询 Excel 工作表(使用 ADODB 记录集)

arrays - Excel VBA 编译错误参数在遍历附加到类集合的数组时不是可选的

Excel 告诉我我的空白单元格不是空白

excel - 在 Outlook 中粘贴 Excel 范围

excel - 如何使用键盘取消选择Excel行

java - 如何使用gwt java知道apache POI读取excel所有数据

vba - 如何通过特定分布在 excel 中生成随机日期?