VBA自定义函数能否知道公式是作为数组公式input的?

是否有可能根据用户input公式的方式使以下函数返回多个值或单个值?

Public Function Test(ByVal flNumber As Double) As Variant Dim flResult1 As Double Dim sResult2 As String Dim bArrayFormula As Boolean flResult1 = Round(flNumber / 10 ^ 6, 1) sResult2 = "million" ' How to know that the formula is entered as an array formula? If bArrayFormula Then Test = Array(flResult1, sResult2) Else Test = flResult1 & " " & sResult2 End If End Function 

只要检查Application.Caller

 Public Function SmartFunction() As String addy = Application.Caller.Address If Range(addy).HasArray Then SmartFunction = "Array Formula" Else SmartFunction = "Normal Formula" End If End Function