Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Array Sortieren

Forumthread: 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
Anzeige

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
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige