次の値を持つ配列 (AlphaVector) があります。
-0.2
-0.7
0
0.4
0.3
0.1
上記の配列から正の値を選択し、Alpha という名前の別の配列に配置して、Alpha から最小の正の値を選択できるようにします。私の目標は、上記の配列から値 0.1 を取得することです。ここに私がこれまで持っているコードがあります。Msgbox が正しい値を示しているため、Alpha は正常に読み込まれますが、取得している戻り値は 0.1 ではなく 0 です。
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
修正方法を教えてください。また、おそらくアルファを導入せずに、より効率的な書き方があれば教えてください。ありがとう。