kleinsten Wert aus Array löschen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: kleinsten Wert aus Array löschen
von: Stephan
Geschrieben am: 16.08.2015 10:15:27

Hallo,
ich habe fixe 6 Zahlen die öfters mit einer variablen aufsteigenden Zahl verglichen werden.
Sobald der Vergleichswert das Minimum der 6 Zahlen erreicht bzw größer wird, soll das Minimum aus der Liste bzw. aus dem Array gelöscht werden, so dass nur noch 5 übrigbleiben. Jetzt steigt der Vergleichswert weiter an bis er das nächste Minimum erreicht hat. Und auch dieses Minimum soll wieder gelöscht werden.... usw.
Da ich mich nicht so sehr mit Arrays auskenne wollte ich fragen wie man das am besten macht.
Viele Grüße
Stephan

Bild

Betrifft: AW: kleinsten Wert aus Array löschen
von: Sepp
Geschrieben am: 16.08.2015 10:53:47
Hallo Stephan,
weiß ja nicht, was du vor hast, aber vom Prinzip her so.

Sub stephan()
Dim vntArray As Variant
Dim lngNumber As Long

vntArray = Array(17, 23, 9, 11, 24, 13)

Randomize Timer

Do While UBound(vntArray) >= 0
  MsgBox Join(vntArray, ", ")
  lngNumber = Int((Application.Max(vntArray) + 1) * Rnd + Application.Min(vntArray))
  If lngNumber >= Application.Min(vntArray) Then
    vntArray(Application.Match(Application.Min(vntArray), vntArray, -1) - 1) = vntArray(UBound(vntArray))
    If UBound(vntArray) > 0 Then
      Redim Preserve vntArray(UBound(vntArray) - 1)
    Else
      Exit Do
    End If
  End If
Loop

End Sub


Gruß Sepp


 Bild

Beiträge aus den Excel-Beispielen zum Thema "kleinsten Wert aus Array löschen"