Application.Worksheetfunction.Max 不是 return 数组中最大的数

Application.Worksheetfunction.Max does not return the largest number in array

我有一个数组,其中包含各种双精度值,当我使用 Application.WorksheetFunction.max 函数时,我收到一个值,但当我查看数组的各个值时,我可以找到多个大于该值的值Application.WorksheetFunction.max 返回。从直接 window:

复制
?Application.WorksheetFunction.max(dummyQuantileVector)
 21081,4351851852 
?dummyQuantileVector(73368)
 799470,509259259 

这可能是什么原因?

更新:当我将整个 dummyQuantileVector 数组写入 sheet 然后使用 max 函数时,我得到了正确的值。

WorksheetFunction.Max 似乎只适用于一维数组的前 34465 个元素。它将在二维数组上正常工作。

自定义最大值函数

Function getMaxNumberFromArray(Data As Variant)
    Dim v As Variant
    Dim n As Double
    Dim flag As Boolean

    For Each v In Data
        If Not flag Then
            n = v
            flag = True
        ElseIf v > n Then
            n = v
        End If
    Next
    getMaxNumberFromArray = n
End Function