VBA代码获取单击按钮的行号
Posted
技术标签:
【中文标题】VBA代码获取单击按钮的行号【英文标题】:VBA Code to get row number of a clicked button 【发布时间】:2021-07-17 01:24:42 【问题描述】:我正在尝试自动确定单击的命令按钮所在的行。
我正在使用以下代码:
Private Sub CommandButton2_Click ()
Dim b As Object, r As Integer
Set b = ActiveSheet.Buttons(Application.Caller)
With b.TopLeftCell
r= .row
End With
MsgBox "Row Number " & r
End Sub
但是当我运行代码“运行时错误 1004 - 无法获取工作表类的按钮属性”时,我不断收到一条错误消息
你能建议吗?
【问题讨论】:
Buttons
用于表单控件。您可能有一个 ActiveX 控件。
【参考方案1】:
正如@BigBen 所说,您可能有一个 ActiveX 按钮,因此您可以使用:
Private Sub CommandButton2_Click ()
MsgBox Me.CommandButton2.TopLeftCell.Row
End Sub
【讨论】:
你说得对,我正在使用活动 x 按钮。有没有办法让所有命令按钮的代码动态化? 如果您有很多 ActiveX 按钮并且不想为每个按钮编写处理程序,那么您可以使用这种方法:siddharthrout.com/index.php/2018/01/15/vba-control-arrays 您可能会发现使用表单按钮更容易而是(或只是形状)和一个使用Application.Caller
方法的单个“OnAction”子。以上是关于VBA代码获取单击按钮的行号的主要内容,如果未能解决你的问题,请参考以下文章
单击 HTML 表格并获取行号(使用 Javascript,而不是 jQuery)