是否有一个变量可以提供将接收自定义 VBA 函数结果的工作表和单元格?
例如,如果A!B1
公式=MyCustomFunc()
在我的代码中:
public function MyCustomFunc()
'what can I call here to get the values "A" and "B1"?
end function
这是你正在尝试的吗?
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
你想要Application.ThisCell
。
这将返回当前正在计算的单元格。
ActiveSheet.Name
会给你工作表名称。ActiveCell.Row
会给你行号,ActiveCell.Column
会给你列字母。然后您可以将它们组合起来以获取单元格地址。