' Return the maximum value in an array of any type'' FIRST and LAST indicate which portion of the array' should be considered; they default to the first' and last element, respectively' If MAXINDEX is passed, it receives the index of the' maximum element in the arrayFunction ArrayMax(arr As Variant, Optional ByVal First As Variant, _ Optional ByVal Last As Variant, Optional MaxIndex As Long) As Variant Dim Index As Long If IsMissing(First) Then First = LBound(arr) If IsMissing(Last) Then Last = UBound(arr) MaxIndex = First ArrayMax = arr(MaxIndex) For Index = First + 1 To Last If ArrayMax < arr(Index) Then MaxIndex = Index ArrayMax = arr(MaxIndex) End If NextEnd Function