用于获取在 VBA 中单击的 ActiveX 按钮名称的通用事件处理程序。

Dj *_*vey 1 excel vba

所以我想知道我是否可以引用被点击的按钮。所以我不必为每个按钮更改太多代码。所以这就是我所拥有的。

Private Sub CommandButton1_Click()

Dim name As String
With CommandButton1

If .Caption = "CommandButton1" & "" Then
name = InputBox("Enter Template Name.")
.Caption = name

End If
End With

End Sub
Run Code Online (Sandbox Code Playgroud)

而不是With CommandButton1我希望它使用被点击的按钮。我试过了,With Me但它什么也没做。

Jer*_*ino 5

这篇 SO 帖子中的答案解决了您的问题。

仔细按照说明进行操作。它应该可以解决您的问题。:)

编辑:

事实上,这很容易。

截图:

我的工作表的设置:

在此处输入图片说明

VBE 的设置,Sheet1 的代码:

在此处输入图片说明

注意突出显示的部分!

VBE,类模块的设置:

通过插入Class Module而不是插入来添加类模块Module。名称应该是ButtonEvents.

在此处输入图片说明

单击 CommandButton1 时的结果:

在此处输入图片说明

================

当然,这只是基本前提。您可以更改类模块中的代码以将名称存储在某处或将其发送到特定单元格等,而不是显示消息框。

希望这能让它更清楚。