相关疑难解决方法(0)

从Excel VBA UDF调用时,Range.Precedents返回范围而不是其先例.有解决方法吗?

我有这个VBA功能:

Public Function testPrec(target As Range) As String
    testPrec = target.Precedents.Address(External:=False)
End Function
Run Code Online (Sandbox Code Playgroud)

在单元格C11中,我有这个公式:

=C6+C8
Run Code Online (Sandbox Code Playgroud)

如果我testPrec从即时窗口调用,它可以正常工作:

?testPrec([c11])
$C$6,$C$8
Run Code Online (Sandbox Code Playgroud)

编辑:如果从非UDF宏Sub调用它也可以正常工作.异常是UDF案例.

如果我从工作表中将其称为UDF:

=testPrec(C11)
Run Code Online (Sandbox Code Playgroud)

我刚回来"$ C $ 11".

有谁知道发生了什么,甚至更好地如何从UDF调用中获得实际的先例?(我正在使用Excel 2007.)

excel vba excel-2007 user-defined-functions

8
推荐指数
1
解决办法
2802
查看次数

标签 统计

excel ×1

excel-2007 ×1

user-defined-functions ×1

vba ×1