是否可以让以下函数根据用户输入公式的方式返回多个值或单个值?
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
关于vba - VBA自定义函数可以知道公式是作为数组公式输入的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30819127/