我有这个VBA功能:
Public Function testPrec(target As Range) As String
testPrec = target.Precedents.Address(External:=False)
End Function
在单元格C11中,我有以下公式:
=C6+C8
如果我从立即窗口调用
testPrec
,它就可以正常工作:?testPrec([c11])
$C$6,$C$8
编辑:如果从非UDF宏Sub调用它也可以正常工作。异常是UDF情况。
如果我从工作表中将其作为UDF调用:
=testPrec(C11)
我刚拿回“ $ C $ 11”。
有谁知道发生了什么,或者甚至更好地如何从UDF调用中获取实际的先例? (我正在使用Excel2007。)
最佳答案
我能想到的唯一解决方法是获取target.formula并对其进行解析-不太好。