首页 > 解决方案 > 提取当前单元格地址

问题描述

我需要在 VBA 中提取当前单元格而不将其传递给函数的参数。

我的意思是,例如,如果公式在单元格 B35 中,我想在公式的 VBA 代码中提取地址(行 = 35,列 = 2)。

我认为活动单元格会这样做,但不,它会提取光标所在单元格的地址。

你知道我该怎么做吗?

提前感谢您的帮助。

标签: excelvba

解决方案


我想你的意思是Application.Caller哪个是调用 VBA 的对象。它可以在函数内部使用来返回调用 UDF 的单元格,而不是ActiveCell

Application.Caller 属性 (Excel)

一个简单的例子是:

Public Function ThisCell() As String


ThisCell = "ROW:" & Application.Caller.Row & " - COLUMN:" & Application.Caller.Column

End Function

如果您现在在任何单元格中键入=ThisCell(),它将返回其行和列:

在此处输入图像描述

请注意,它们的输出都不同,即使它们使用相同的 UDF 而没有参数。


推荐阅读