获取单击按钮的行号的VBA代码



我正在尝试自动确定单击的命令按钮的行。

我正在使用以下代码:

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属性;

你能给我建议吗?

@BigBen指出,您可能有一个ActiveX按钮,因此可以使用:

Private Sub CommandButton2_Click () 
MsgBox Me.CommandButton2.TopLeftCell.Row
End Sub 

如果你有很多ActiveX按钮,而你不想为每个按钮编写一个处理程序,那么你可以使用这种方法:https://bettersolutions.com/excel/macros/vba-control-arrays.htm

不过,你可能会发现更容易使用表单按钮(或仅使用形状(;OnAction";sub使用Application.Caller方法。

相关内容

  • 没有找到相关文章

最新更新