Excel VBA:获取点击按钮的行
问题的出现的原因是作者想要获取点击的按钮所在的行数和列字母,但作者不知道如何实现。作者在寻找相关信息后找到了一些线索,但还需要进一步的帮助。
解决方法是作者在寻找信息的过程中找到了一个有用的提示,即使用ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
可以获取到点击按钮所在的行数。作者尝试了这个方法,并成功地将行数显示在了一个消息框中。
然而,作者在获取列字母时遇到了问题,作者想要将列数转换为对应的字母表示。为了解决这个问题,作者在stackoverflow.com上提问并寻求帮助。
作者提到了这个问题与之前获得按钮所在行数的问题有关,暗示作者在寻找答案时可能会遇到相关的解决方案。
这篇文章讲述了作者在Excel VBA中获取点击按钮所在行数和列字母的问题,并展示了作者在解决问题的过程中所做的尝试和寻求帮助的过程。
'Same for rownumbers!
Sub Mainscoresheet()
' Mainlineup Macro
Dim b As Object, RowNumber As Integer
Set b = ActiveSheet.Buttons(Application.Caller)
With b.TopLeftCell
RowNumber = .Row
End With
MsgBox "Row Number " & RowNumber
End Sub
在上面的代码中,我们定义了一个名为Mainscoresheet的VBA子程序。这个子程序的作用是获取点击按钮所在的行号,并在弹出窗口中显示出来。
该子程序的执行过程如下:
1. 首先,我们声明了两个变量b和RowNumber。变量b用于存储按钮对象,变量RowNumber用于存储行号。
2. 接下来,我们使用Set语句将按钮对象赋值给变量b。这里的ActiveSheet.Buttons(Application.Caller)表示当前活动工作表上被点击的按钮。
3. 然后,我们使用With语句来引用按钮对象的左上角单元格。通过调用TopLeftCell属性,我们可以获取按钮所在的单元格。
4. 接着,我们将按钮所在单元格的行号赋值给变量RowNumber。通过调用Row属性,我们可以获取单元格所在的行号。
5. 最后,我们使用MsgBox函数在弹出窗口中显示行号。通过连接运算符&,我们将固定字符串"Row Number "和变量RowNumber连接起来。
这段代码的作用是帮助我们获取点击按钮所在的行号,并在弹出窗口中显示出来。通过这个功能,我们可以在Excel VBA中实现一些与按钮点击相关的操作,例如根据按钮所在的行号执行特定的操作。
希望这篇文章对你理解Excel VBA中获取按钮所在行号的方法有所帮助。如果你还有其他关于Excel VBA的问题,欢迎继续提问。
问题的出现原因是用户想要通过点击按钮来获取所在行的行号,但是在VBA中没有直接的方法来获取按钮所在的行号。所以用户需要编写一段代码来实现这个功能。
解决方法是用户可以使用`ActiveSheet.Buttons(Application.Caller)`来获取被点击的按钮对象,并通过`.TopLeftCell.Column`属性来获取按钮所在的列号。最后通过`MsgBox`函数将列号输出。
以下是解决方法的完整代码:
Sub Mainscoresheet() ' Mainlineup Macro Dim b As Object, cs As Integer Set b = ActiveSheet.Buttons(Application.Caller) With b.TopLeftCell cs = .Column End With MsgBox "Column Number " & cs End Sub
这段代码可以方便地获取动态生成的按钮所在的列号。