Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1476to1480
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

Blöcke nach Datum sortieren

Blöcke nach Datum sortieren
04.03.2016 09:17:06
Joachim
Hallo,
ich hab auf einer Tabelle mehrere Blöcke, max. 3 nebeneinander und beliebig viele untereinander. Nun sollen die Blöcke nach dem Datum (in D5, O5, Z5, usw.) aufsteigend sortiert werden. Es kann am Ende einen Block geben, der kein Datum enthält. Dieser soll weiterhin am Ende stehen.
In den Blöcken gibt es verbundene Zellen, wenn das Probleme macht, nehme ich die wieder raus.
Danke für eure Hilfe
Gruß
Joachim
https://www.herber.de/bbs/user/104087.xlsx

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blöcke nach Datum sortieren
04.03.2016 10:03:10
Michael
Hallo Joachim,
ganz naiv gefragt: Alle'Blöcke'sind durch Leerzeilen getrennt, kann man da nicht einfach den Cursor z.B. auf I7 stellen und die xl-Sortierfunktion'nutzen? Es ist auch möglich'mit'dem'Makro-Rekorder'einmal'das Sortiern für'alle Blöcke aufzuzeichnen.
Mfg

AW: Blöcke nach Datum sortieren
04.03.2016 10:12:09
Joachim
Hallo Michael,
es soll nicht innerhalb der Blöcke sortiert werden, sondern die ganzen Blöcke nach Datum in D5, O5, Z5 usw.
MfG

AW: Blöcke nach Datum sortieren
04.03.2016 10:44:20
Daniel
Hi
probier mal folgendes.
die Verbundzellen darfst du behalten, da der Code nicht sortiert, sondern in der richtigen Reihenfolge kopiert.
Die Grösse und den Abstand der Karten muss konstant sein und du musst diese im Kopf des Makros angeben.
Sub BlockSort()
Const KarteSpalten As Long = 10
Const KarteZeilen As Long = 21
Const AbstandSpalten  As Long = 11
Const AbstandZeilen As Long = 22
Const AnzahlSpalten As Long = 3
Const StartSpalte = 2
Const StartZeile = 2
Dim Blöcke As Range
Dim Zelle As Range
Dim shAkt As Worksheet
Dim shZW As Worksheet
Dim x As Long
Dim Zeile As Long
Dim Spalte As Long
Set shAkt = ActiveSheet
Set shZW = Sheets.Add(after:=shAkt)
With shAkt
.Cells.Replace "Kunde", True, xlWhole
Set Blöcke = .Cells.SpecialCells(xlCellTypeConstants, 4)
.Cells.Replace True, "Kunde"
End With
Zeile = 1
For Each Zelle In Blöcke
Zelle.Offset(-1, 0).Resize(KarteZeilen, KarteSpalten).Copy
shZW.Cells(Zeile, 3).PasteSpecial xlPasteAll
shZW.Cells(Zeile, 2).FormulaR1C1 = "=IF(R[3]C[3]="""",99999,R[3]C[3])+row()/10000"
shZW.Cells(Zeile, 1).FormulaR1C1 = "=RANK(RC2,C2,1)"
Zeile = Zeile + AbstandZeilen
Next
For x = 1 To WorksheetFunction.Max(shZW.Columns(1))
Zeile = StartZeile + Int((x - 1) / AnzahlSpalten) * AbstandZeilen
Spalte = StartSpalte + ((x - 1) Mod AnzahlSpalten) * AbstandSpalten
shZW.Columns(1).Find(what:=x, lookat:=xlWhole, LookIn:=xlValues).Offset(0, 2).Resize( _
KarteZeilen, KarteSpalten).Copy
shAkt.Cells(Zeile, Spalte).PasteSpecial xlPasteAll
Next
Application.DisplayAlerts = False
shZW.Delete
Application.DisplayAlerts = True
End Sub
getestet mit deiner Beispieldatei
gruß Daniel

Anzeige
AW: Blöcke nach Datum sortieren
04.03.2016 12:24:56
Joachim
Hallo Daniel,
funktioniert super!!
Auch wenn am Ende 2 leere Blöcke stehen.
Vielen Dank und schönes Wochenende
Joachim

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige