如何理解 post on "Getting unique values in Excel ..." 中的代码?

How to understand the code in post on "Getting unique values in Excel ..."?

参考answered Jun 27 '13 at 7:43 by totymedlianswered Apr 13 '16 at 0:53 by Meir Shachar

我更喜欢 VBA 解决方案,尽管 OP 没有要求。但是,我能够解析和理解上面的大部分链接响应,除了以下行:

distance = Range(Application.Caller.Address).row - rng.row

看来张贴者正在使用此构造来确定结果范围(或数组?)是否大于零长度以避免创建空 Variant return 值。如果是这样,我看不出有必要这样做,并且能够在不引用整数 distance.

的情况下创建有用的输出

已经 尝试过我的尽职调查,但是,通常神秘的 Microsoft reference 对我来说用处不大。如果有人可以解释 Application.Caller.Address 构造的 use/nature (甚至更好 - 在这个特定的例子中)我可以更好地判断我是否真的需要使用它。

如果您在 UDF(用户定义函数)中使用 Application.Caller.Address,它 return 是包含调用 UDF 的公式的单元格的地址。

例如,如果单元格 B2 包含公式 =listUnique(A1:A10),则 Application.Caller.Address 将 return 地址 B$