在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函数显示最大值。