Min-Positionen in Array
16.09.2011 18:59:51
Erich
Hi Olli,
du hast nicht geschrieben, wo und wie du die Indizes haben möchtest.
Hier mal mein Vorschlag:
Option Explicit
Sub Test2()
Dim arrD(5) As Double, dblMin As Double
Dim arrI() As String, zz As Long, ii As Long
' Testwerte
arrD(0) = 0.7: arrD(1) = 1.7: arrD(2) = 1.7
arrD(3) = 0.7: arrD(4) = 0.7: arrD(5) = 1.7
dblMin = Application.Min(arrD)
ReDim arrI(1 To UBound(arrD) + 1 - LBound(arrD))
For zz = LBound(arrD) To UBound(arrD)
If arrD(zz) = dblMin Then
ii = ii + 1
arrI(ii) = zz
End If
Next zz
ReDim Preserve arrI(1 To ii)
MsgBox "Gefunden an den Positionen " & Join(arrI, ", ")
End Sub
@Peter:
Warum nicht einfach
If bGefunden Then
statt
If bGefunden = True Then ? Da steht dann tatsächlich doch nur "If True = True" oder "If False = True".
Man schreibt doch auch "If a > b then", nicht "If a > b = True then" oder "If (a > b) = True then".
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort