Registriert seit: 08.10.2024
Version(en): 365-Abo für MAC
Guten Morgen,
ich habe mehrere Excel-Blöcke in Excel erstellt. Ein Block besteht aus 3 Zeilen. Innerhalb einer Zeile aus mehreren Zellen.
Nun möchte ich die Blöcke nach bestimmten Kriterien sortieren.
Wie muss ich hier vorgehen?
Vielen Dank
Lausbub
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo,
das geht überhaupt nicht, Excel eignet sich nicht dafür, Daten in Blöcken zu verwalten. Es gilt die Regel: eine Zeile - ein Datensatz. Schreib alles nebeneinander und gut ist.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
Moin!
Wenn Du eine zusätzliche Spalte "Gruppe" nimmst und die Leerzeilen entfernst, geht das durchaus.
Sortiert wird dann erst nach Gruppe und dann nach den anderen Kriterien.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 16.04.2014
Version(en): xl2016/365
Registriert seit: 04.11.2014
Version(en): Office 365 Beta
Da hat sich der "Lausbub" durch glatt in die "Ommi" verwandelt

@Lausbub: Wiese führst Du Deine Anfrage nicht hier weiter?
Registriert seit: 05.09.2019
Version(en): Office 365
Hallo
Per VBA könntest du das erledigen lassen
Hier Beispiel:
- für Daten in Spalte A (bis Z)
- Sortierung: Spalte A
- Blöcke haben Überschriften
Code:
Sub SortiereBloecke()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim zeile As Long, startZeile As Long
Dim letzteZeile As Long
letzteZeile = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
zeile = 1
Do While zeile <= letzteZeile
' ohne Leerzeilen
Do While ws.Cells(zeile, 1).Value = "" And zeile <= letzteZeile
zeile = zeile + 1
Loop
startZeile = zeile
'Ende des Blocks
Do While ws.Cells(zeile, 1).Value <> "" And zeile <= letzteZeile
zeile = zeile + 1
Loop
'Sortieren nur Block
If zeile > startZeile Then
ws.Sort.SortFields.Clear
ws.Sort.SortFields.Add Key:=ws.Range("A" & startZeile & ":A" & (zeile - 1)), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ws.Sort
.SetRange ws.Range("A" & startZeile & ":Z" & (zeile - 1))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
Loop
End Sub
Vorher:
Arbeitsblatt mit dem Namen 'Tabelle2' |
| A | B | C |
1 | A | B | C |
2 | a1 | b1 | c1 |
3 | a0 | b0 | c0 |
4 | | | |
5 | | | |
6 | AA | BB | CC |
7 | 44 | 55 | 66 |
8 | 11 | 12 | dd |
9 | 33 | 125 | 55 |
10 | | | |
11 | | | |
12 | AAA | BBB | CCC |
13 | xx | sds | sdsd |
14 | bb | dsds | ggg |
15 | aa | ssff | ggg |
Nachher:
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B | C |
1 | A | B | C |
2 | a0 | b0 | c0 |
3 | a1 | b1 | c1 |
4 | | | |
5 | | | |
6 | AA | BB | CC |
7 | 11 | 12 | dd |
8 | 33 | 125 | 55 |
9 | 44 | 55 | 66 |
10 | | | |
11 | | | |
12 | AAA | BBB | CCC |
13 | aa | ssff | ggg |
14 | bb | dsds | ggg |
15 | xx | sds | sdsd |
LG UweD
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
(24.04.2025, 13:00){Boris} schrieb: @Lausbub: Wiese führst Du Deine Anfrage nicht hier weiter?
Er hat ja versucht, mich während meiner Arbeit per PN zu motivieren.
Zitat:Hallo Ralf,
deine Empfehlung hört sich vielversprechend an, aber leider habe ich es nicht verstanden.
Könntest du mir bitte ein kleines Beispiel senden?
Auf die absurde Idee, mal selbst ein Beispiel einzustellen und somit die Allgemeinheit zu aktivieren, kam er nicht.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 04.11.2014
Version(en): Office 365 Beta
Zitat:Auf die absurde Idee, mal selbst ein Beispiel einzustellen und somit die Allgemeinheit zu aktivieren, kam er nicht.
Registriert seit: 13.04.2014
Version(en): 365
25.04.2025, 15:10
(Dieser Beitrag wurde zuletzt bearbeitet: 25.04.2025, 15:11 von BoskoBiati.)
Hallo zusammen,
auch wenn man vom TE nichts mehr hört, die Aufgabe hat mich gereizt und ich habe mal was entworfen für 365. Es werden Blöcke nach dem Wert der ersten Zelle im Block sortiert:
Sortieren_Block.xlsx (Größe: 10,68 KB / Downloads: 4)
Vielleicht kann ja einer, der mit den neuen Funktionen besser vertraut ist, da ja noch was verbessern.
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 12.04.2014
Version(en): Office 365
Moin Edgar
Ist ya;INDEX(xc;;1) (wobei xc;HSTAPELN(xa;xb) gilt) nicht identisch mit xb;A1:C24?
Wir sehen uns!
... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.