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

时间:2014-01-09 02:41:39

标签: excel-vba vba excel

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

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

而不是With CommandButton1我希望它使用点击的按钮。我试过了With Me,但没有做任何事。

1 个答案:

答案 0 :(得分:4)

The answer in this SO post解决了您的问题。

请仔细按照说明操作。它应该解决你的问题。 :)

修改

实际上这很简单。

<强>截图:

设置我的工作表:

enter image description here

设置VBE,Sheet1的代码:

enter image description here

注意突出部分!

设置VBE,类模块:

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

enter image description here

点击CommandButton1时的结果:

enter image description here

<强> ===============

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

希望这更清楚。