我有这个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.)