Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1124to1128
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Array Sortieren

Array Sortieren
Andreas
Hallo ich habe ein Array das ziemlich willkürlich beschrieben wird es hat folgende form
Type Punkte_Array_Type
pixels As Integer
nullstelle As Boolean
End Type
Dim Punkte_Array(100) As Punkte_Array_Type

dieses Array soll jetzt komplett sortiert werden ach pixels. also soll Punkte_Array(0) den kleinsten Pixels wert haben.
gibt es dafür schon eine vorgefertigte funktion oder hat jemand grad eine Parat?
Grüße Andi

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Array Sortieren
05.01.2010 14:17:51
Andreas
hab schnell ne funktion geschrieben *DONE*
Punkte-Array nach Element 'Pixels' Sortieren
05.01.2010 14:32:38
NoNet
Hallo Andi,
hier ein kleines Beispiel - Die Werte "Pixels" des Arrays werden hier zuvor zufällig mit WErten zwischen 0 und 1000 (bzw. 999) befüllt, dann sortiert und dann ausgegeben :
Option Explicit
Type Punkte_Array_Type
pixels As Integer
nullstelle As Boolean
End Type
Sub PunkteArraySortieren()
Dim Punkte_Array(100) As Punkte_Array_Type
Dim intS As Integer, intT As Integer, tmpPA As Punkte_Array_Type
'Array zufällig befüllen
For intT = LBound(Punkte_Array) To UBound(Punkte_Array) 'Alle Elemente des Arrays
'Wert "Pixels" zufällig mit Werten  zw. 0 - 1000 befüllen
Punkte_Array(intT).pixels = Rnd() * 1000
Punkte_Array(intT).nullstelle = Rnd() > 0.5 'Boole'scher Wert : TRUE oder FALSE
Next
'Array nach "Pixels" sortieren :
For intT = LBound(Punkte_Array) To UBound(Punkte_Array) 'Alle Elemente des Arrays
For intS = LBound(Punkte_Array) To intT
If Punkte_Array(intS).pixels > Punkte_Array(intT).pixels Then
tmpPA = Punkte_Array(intS)
Punkte_Array(intS) = Punkte_Array(intT)
Punkte_Array(intT) = tmpPA
End If
Next
Next
'Array nach "Pixels" sortiert in Spalte A ausgeben (Nullstelle in Spalte B)
For intT = LBound(Punkte_Array) To UBound(Punkte_Array) 'Alle Elemente des Arrays
Cells(intT + 1, 1) = Punkte_Array(intT).pixels
Cells(intT + 1, 2) = Punkte_Array(intT).nullstelle
Next
End Sub
Gruß, NoNet
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige