Excel VBA:获取点击button的行

我正在试图在Excel中创build一个button,将一定范围的单元格从活动工作簿复制到另一个工作簿。 当我指定一个固定范围的时候,这个范围的拷贝是完美的,但是我很难理解如何确定点击button的行。

每行包含7个左右的单元格,第8个单元格包含一个附有macros的形状(button)。 当用户按下此button时,需要复制与包含按下button的行相同的行上的7个单元格。

使用ActiveCell是没有用的,因为按下button并不会将该单元格设置为活动状态。 我搜查了很多,但我似乎无法find如何获得这个价值。 一旦我有了点击button的行号,我可以自己找出其余的。

每个Shape都有TopLeftCell属性。 它包含一个单元,形状的左上angular位于其中。

这里提到了一个很好的解决scheme: http : //www.ozgrid.com/forum/showthread.php?t= 33351&p= 167317#post167317

从上面的post复制的金色代码:

 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 

优秀的答案。 顺便说一句,它也适用于Rownumber!

 '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