Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
356to360
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
356to360
356to360
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wie sortiert man eine Feldvariable

Wie sortiert man eine Feldvariable
04.01.2004 10:21:37
KarliH
Hallo Forum,

ich lese mit folgendem Code 20 Meßwerte (unsortiert), über eine InputBox in eine Feldvariable ein und möchte diese dann in den Zellen A1:T1 aufsteigend sortiert ausgeben.

Meine Frage ist nun, wie sortiere ich diese Meßwerte innerhalb der Feldvariablen aufsteigend?

Option Explicit


Sub Meßwerte()
Dim intI As Integer, dblZahl(20) As Double
For intI = 1 To 20
dblZahl(intI) = Application.InputBox(Prompt:="Meßwert " & intI, _
Title:="Zahleneingabe", _
Left:=359, _
Top:=33, _
Type:=1)
Next intI
'Hier muß Feldvariable dblZahl(20)aufsteigend sortiert werden
'um die Meßwerte in der Folgeschleife sortiert
'in den Zellen A1:T1 auszugeben
For intI = 1 To 20
Cells(1, intI).Value = dblZahl(intI)
Next intI
End Sub


Würde mich über den erforderlichen fehlenden Code freuen.

Gruß Karli

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie sortiert man eine Feldvariable
04.01.2004 10:29:08
Hajo_Zi
Hallo Karli

Public

Sub Sort_Z_A(SortArray, L, R)
'   sortieren von Z bis A
'   von GerdZ Herber.de
Dim I, J, x, y
I = L
J = R
x = SortArray((L + R) / 2)
While (I <= J)
While (SortArray(I) < x And I < R)
I = I + 1
Wend
While (x < SortArray(J) And J > L)
J = J - 1
Wend
If (I <= J) Then
y = SortArray(I)
SortArray(I) = SortArray(J)
SortArray(J) = y
I = I + 1
J = J - 1
End If
Wend
If (L < J) Then Call Sort_Z_A(SortArray, L, J)
If (I < R) Then Call Sort_Z_A(SortArray, I, R)
End Sub


Public

Sub Sort_A_Z(SortArray, L, R)
'   sortieren von A bis Z
'   von GerdZ Herber.de
Dim I, J, x, y
I = L
J = R
x = SortArray((L + R) / 2)
While (I <= J)
While (SortArray(I) > x And I < R)
I = I + 1
Wend
While (x > SortArray(J) And J > L)
J = J - 1
Wend
If (I <= J) Then
y = SortArray(I)
SortArray(I) = SortArray(J)
SortArray(J) = y
I = I + 1
J = J - 1
End If
Wend
If (L < J) Then Call Sort_A_Z(SortArray, L, J)
If (I < R) Then Call Sort_A_Z(SortArray, I, R)
End Sub



Sub Test()
'   Verzeichnis ist das Array
Sort_Z_A Verzeichnis, LBound(Verzeichnis), UBound(Verzeichnis)
End Sub


Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
noch offen
04.01.2004 11:49:32
KarliH
Hallo Hajo,

danke für deine Reaktion.
Leider reichen meine Kenntnisse nicht aus deinen Code in mein Makro einzubauen.
Könntest du oder jemand anders mir dabei behilflich sein?
Wie gesagt ich möchte die Variable nur aufsteigend sortieren.

Gruß Karli
AW: Sortieren
04.01.2004 11:52:28
Hajo_Zi
Hallo Karli

da sind keine großen Kentnisse nötig. Das jemand kopien kann setze ich vorraus.

die Zeile

Sort_Z_A Verzeichnis, LBound(Verzeichnis), UBound(Verzeichnis)
in dein Makro kopieren an der Stelle wo Sortiert werden soll und Verzeichnis durch Deinen Array namen ersetzen oder falls die Andere Sortierung Sort_A_Z.......

Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
AW: Wie sortiert man eine Feldvariable
04.01.2004 11:59:54
Ulf
Sortier die Daten in der Tabelle, das ist einfacher und kann mit dem
Makrorekorder aufgezeichnet werden.

Ulf
Danke Euch
04.01.2004 13:05:19
KarliH
Hallo Hajo & Ulf,

habe nun beide Vorschläge zum Laufen gebracht.
Mal sehen für welchen ich mich entscheide.
Besten Dank Euch beiden.

Gruß Karli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige