注:1)我不想使用Application.Worksheetfunction.Min; 2)我想拒绝不是vbDouble的数组元素; 3)我不知道提前很多元素是如何传递的数组中传递数组到函数返回最小值在Array
Public Function getArrayMin(ByRef passedArray() As Double) As Double
'return min of valid numbers in an array
Dim element As Variant
Dim i As Integer
getArrayMin = 1E+25
i = 0
For Each element In passedArray
If VarType(element) = vbDouble Then
i = i + 1
If element < passedArray(i) Then
getArrayMin = passedArray(i)
End If
End If
Next
End Function
JNevill的编辑的版本,仍然不能正常工作:
Function getArrayMin(passedArray() As Double) As Double
Dim minVal As Double
Dim element As Variant
minVal = 1E+25
For Each element In passedArray
If element < minVal Or element = passedArray(0) Then
minVal = element
End If
Next element
getArrayMin = minVal
End Function
你没有任何回报。另外,虽然'cell'在技术上很好,但可以尝试像'element'这样的东西吗? – findwindow