如何获取当前VBA函数返回的工作表和单元格?

时间:2012-04-27 02:38:03

标签: excel-vba vba excel

是否有任何变量可以为工作表和单元格提供接收自定义VBA函数的结果?

例如,如果在A!B1中我的代码中的公式为=MyCustomFunc()

public function MyCustomFunc()
    'what can I call here to get the values "A" and "B1"?
end function

3 个答案:

答案 0 :(得分:6)

这是你在尝试的吗?

Option Explicit

Public Function MyCustomFunc()
    '~~> Judicious use of 'Volatile' is advised.
    '~~> This will be called everytime the sheet is recalculated
    Application.Volatile

    MsgBox Application.Caller.Parent.Name & ", " & Application.Caller.Address
End Function

答案 1 :(得分:1)

您想要Application.ThisCell

这将返回当前正在计算的单元格。

答案 2 :(得分:0)

ActiveSheet.Name会为您提供表格名称。 ActiveCell.Row会为您提供行号,ActiveCell.Column会为您提供专栏信函。然后你可以将它们组合起来获得单元格地址。