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

Forumthread: Zellensortierung nach Summe mehrerer Spalten (VBA)

Zellensortierung nach Summe mehrerer Spalten (VBA)
07.08.2019 14:13:27
Martin
Hallo,
gibt es eine Möglichkeit zur Sortierung eines Zellenbereiches die Summe von mehreren Spalten als Sortierschlüssel anzugeben (wie es z.B. per SQL möglich ist) ohne dafür eine extra "Hilfsspalte" anlegen zu müssen? Zudem wäre es wichtig, dass die Formatierung der zu sortierenden Zellen beibehalten wird (...wehalb eine Sortierung per Array vermutlich keine Alternative ist).
Ich habe als Excelversion zwar 2010 angegeben, es wäre aber super wenn der VBA-Code auch unter 2003 laufen würde.
Viele Grüße
Martin
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellensortierung nach Summe mehrerer Spalten (VBA)
07.08.2019 16:23:57
mpb
Hallo Marin,
mal als Idee (in meinem Beispiel, mit dem ich getestet habe, stehen die zu summierenden Zahlen in den Zelle A1:C5):
Sub SortBereich()
Const s = 3
Const z = 5
Dim arr(s)
For iCounter = 1 To z
For iCount = iCounter + 1 To z
If Application.Sum(Range(Cells(iCounter, 1), Cells(iCounter, s))) > Application.Sum( _
Range(Cells(iCount, 1), Cells(iCount, s))) Then
For i = 1 To s
arr(i) = Cells(iCounter, i)
Cells(iCounter, i) = Cells(iCount, i)
Cells(iCount, i) = arr(i)
Next i
End If
Next iCount
Next iCounter
End Sub
Suche mal im Archiv nach Bubblesort und Quicksort.
Gruß
Martin
Anzeige
AW: Zellensortierung nach Summe mehrerer Spalten (VBA)
07.08.2019 20:55:26
Martin
Hallo Namensvetter "Martin",
vielen Dank für deine Antwort und deinen Vorschlag. Die Sortieralgorithmen Bubblesort und Quicksort sind mir bekannt, aber leider werden die Formatierungen nicht mitsortiert. Wahrscheinlich habe ich mich in der Aufgabenstellung leider unglücklich ausgedrückt. Mit "Formatierung der zu sortierenden Zellen beibehalten" meinte ich, dass Formatierungen zu den jeweiligen Werten beibehalten (also mitsortiert) werden sollen.
Viele Grüße
Martin
Anzeige
AW: Zellensortierung nach Summe mehrerer Spalten (VBA)
09.08.2019 09:53:24
mpb
Hallo,
dann versuche mal das mit Hilfszeile (x):
Sub Sort_Bereich_mit_Formaten()
Const s = 3
Const z = 5
Dim arr(s)
x = Worksheets("Tabelle1").UsedRange.Rows.Count + 1
Application.ScreenUpdating = False
For iCounter = 1 To z
For iCount = iCounter + 1 To z
If Application.Sum(Range(Cells(iCounter, 1), Cells(iCounter, s))) > Application.Sum( _
Range(Cells(iCount, 1), Cells(iCount, s))) Then
Range(Cells(iCounter, 1), Cells(iCounter, s)).Copy Destination:=Cells(x, 1)
Range(Cells(iCount, 1), Cells(iCount, s)).Copy Destination:=Cells(iCounter, 1)
Range(Cells(x, 1), Cells(x, s)).Copy Destination:=Cells(iCount, 1)
End If
Next iCount
Next iCounter
Rows(x).EntireRow.Delete
Application.ScreenUpdating = True
End Sub
Gruß
Martin
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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