Excel VBA行调用多单元格粘贴的单元格(不是ActiveCell.Row)

我有一个VBA脚本,我使用调用单元来做一些处理。 如果我只将它粘贴到一个单元格中,但是如果我将其粘贴到多个单元格中,则ActiveCell始终是该范围中的第一个选定单元格,因此所有单元格都具有相同的值。

我如何获得该函数被调用的单元格的行?

示例VBA – (在一个单元格中do = TestCallCell(),然后复制并粘贴到几个单元格中)

Function TestCallCell() As String curRow = ActiveCell.Row TestCallCell = curRow End Function 

您不想在UDF中使用ActiveCell,因为Active Cell会随着Active Cell的变化而变化。

使用Application.Caller 。 它将使用从中调用函数的单元格而不是活动单元格。

 Function TestCallCell() As String curRow = Application.Caller.Row TestCallCell = curRow End Function 

在这里输入图像说明