vba excel find max value in array

在VBA Excel中查找数组中的最大值,可以使用以下代码:

Function MaxInArray(arr() As Variant) As Variant
    Dim i As Integer
    Dim maxVal As Variant
    maxVal = arr(0)
    For i = 1 To UBound(arr)
        If arr(i) > maxVal Then
            maxVal = arr(i)
        End If
    Next i
    MaxInArray = maxVal
End Function

这个函数将接受一个Variant类型的数组作为参数,并返回数组中的最大值。在函数中,我们首先将数组的第一个元素作为最大值(假设数组至少有一个元素)。然后,我们使用For循环遍历数组中的所有元素,并将当前元素与最大值进行比较。如果当前元素比最大值大,则将其设置为最大值。最后,我们将最大值作为函数的返回值。

使用这个函数的方法如下所示:

Sub TestMaxInArray()
    Dim myArray(5) As Variant
    Dim maxVal As Variant
    myArray(0) = 3
    myArray(1) = 1
    myArray(2) = 5
    myArray(3) = 2
    myArray(4) = 4
    myArray(5) = 6
    maxVal = MaxInArray(myArray)
    MsgBox "The maximum value is " & maxVal
End Sub

在这个例子中,我们首先创建一个包含6个元素的数组,并将一些值分配给它。然后,我们调用MaxInArray函数,并将数组作为参数传递。最后,我们将函数的返回值赋值给变量maxVal,并使用MsgBox函数显示最大值。

  •