【问题标题】:VBA Code to get row number of a clicked buttonVBA代码获取单击按钮的行号
【发布时间】: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 控件。

标签: vba button row


【解决方案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”子。
猜你喜欢
  • 2011-09-08
  • 2011-01-23
  • 2023-03-17
  • 2022-01-28
  • 1970-01-01
  • 1970-01-01
  • 2019-01-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多