我有一个具有以下值的数组(AlphaVector):
-0.2
-0.7
0
0.4
0.3
0.1
我想从上面的数组中选择正值并将其放在另一个名为 Alpha 的数组中,以便我可以从 Alpha 中选择最小的正值。我的目标是从上面的数组中获取值 0.1。这是我到目前为止的代码。Alpha 填充正常,因为 Msgbox 指示正确的值,但我得到的返回值是 0 而不是 0.1。
Function FindMin(AlphaVector)
Dim iCount As Long
Dim N As Integer, i As Integer
N = AlphaVector.Cells.Count
Dim Alpha() As Double
ReDim Alpha(N) As Double
For i = 1 To N
If AlphaVector(i) > 0 Then
Alpha(i) = AlphaVector(i)
Else
Alpha(i) = 100000000000#
End If
MsgBox ("Alpha(i)= " & Alpha(i))
MsgBox ("AlphaVector(i)= " & AlphaVector(i))
Next i
FindMin = WorksheetFunction.Min(Alpha)
End Function
你能告诉我如何解决吗?另外,如果有更高效的写法,也许不介绍Alpha,请告诉我。谢谢。