Ich versuche, einen Index des Mindestwerts von sum (3) -Array zu finden. Und es sollte auf eine Variable minZurückgeben eines Index eines Min-Werts in Array Excel VBA
min = Index der Minimalwert zugeordnet werden
Soll ich das Array sortieren ersten oder gibt es eine direkte Art und Weise, es zu tun?
Hier ist mein Code:
`Sub Min_index()
Dim Pt_array(3) As Single
Pt_array(0) = 0
Pt_array(1) = 12.3
Pt_array(2) = 16.06
Pt_array(3) = 20.11
Dim Ad_E_array(3) As Single
Dim Lo_E_array(3) As Single
Dim Bs_temp As Single
Dim i As Integer
i = 0
Do While i < 4
Bs_temp = BS
Ad_E_array(i) = Ad_E 'defined in previous Sub
Lo_E_array(i) = Lo_E 'defined in previous Sub
If Bs_temp + Pt_array(i) - Qth < BS_Maximum_limit Then
Bs_temp = Bs_temp + Pt_array(i) - Qth
Ad_E_array(i) = Ad_E_array(i) + 0
Lo_E_array(i) = Lo_E_array(i) + 0
Call function_decide(int_forecast_hour - 1, Bs_temp, Qth + 1, Lo_E_array(i), Ad_E_array(i))
Else
Lo_E_array(i) = Pt_array(i) - Qth - (BS_Maximum_limit - Bs_temp)
Bs_temp = BS_Maximum_limit
Call function_decide(int_forecast_hour - 1, Bs_temp, Qth + 1, Lo_E_array(i), Ad_E_array(i))
End If
i = i + 1
Loop
Dim sum(3) As Single
Dim min As Single
i = 0
Do While i < 4
sum(i) = Abs(Lo_E_array(i)) + Abs(Ad_E_array(i))
i = i + 1
Loop
End Sub`
Dank @Jeeped Es funktioniert. Kann ich auch den Wert (12.3) von Index 2 bekommen? – Yousaf
Nur 'Application.Min (Pt_array)' oder die ausführlichere 'pt_array (Application.Match (Application.Min (Pt_array), Pt_array, 0) -1)'. – Jeeped
Perfekt. Vielen Dank – Yousaf