excel - 将宏分配给在运行时 VBA 中创建的按钮

标签 excel vba button runtime

我的问题基本上在 this post 中得到了解答

但不是下面的类代码:

Sub CmdEvents_Click()
   MsgBox "Hello World"
End Sub

我需要运行这段代码(这只是一个示例,我想使用稍后在程序中单击的按钮的名称)
Sub CmdEvents_Click()
Dim mvCtrl As Control
Set mvCtrl = Me.ActiveControl
MsgBox mvCtrl.Name
End Sub

但是上面的这段代码无论如何都不会正确返回我刚刚在运行时在消息框中创建的按钮的名称。

它返回“Button 6”....我在我的工作簿中进行了搜索,但我什至没有这个名字。

实际上,我修改了上面链接中的原始代码,以从列表中获取所有按钮的名称。这样我可以修改列表,从而修改按钮的名称,或者如果我愿意的话。而这个 Button 6 甚至不存在于我的列表中。

我在我的代码中做了一些陷阱,显示了我用来从中获取按钮名称的变量的消息框,这是正确的,它带有我想在创建按钮之前命名我的按钮的字符串。

最佳答案

假设您关注了您链接到的帖子,您的类实例已经包含一个变量 CmdEvents它引用了单击的按钮,因此您可以使用

Msgbox CmdEvents.Name 

如果您的代码不同,发布相关部分会很有用,这样我们就可以看到发生了什么。

关于excel - 将宏分配给在运行时 VBA 中创建的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12376295/

相关文章:

C# OpenXML 在 Word 文档中嵌入电子表格图表

Excel VBA循环代码

javascript - 使用javascript禁用Applet按钮

java - BIRT Excel 格式的奇怪单元格值

vba - 非重复随机数生成器?

java - 无法从 java 代码运行宏

vba - 执行查询 DoCmd.RunSQL 时出现错误 3340 查询 ' ' 已损坏

css - jQuery Mobile 自定义按钮 - 一般 CSS 问题

ios - 在SwiftUI中点击Button时获取Tag值

excel - 如何将 excel 连接到微软的 QnA Maker (VBA)