Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1692to1696
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

Spalten Zeilenweise sortieren

Spalten Zeilenweise sortieren
17.05.2019 08:32:26
lemmy
Hallo zusammen,
ich habe bis zu 30 Blöcke in Spalte B mit der Benennung A, B, , C...usw.
Diese Böcke haben in sich eine Blockreihenfolge Spalte C Nr.1-30.
Dies bildet eine Einheit die mal länger oder kürzer sein kann.
Ich habe bis zu 30 Blöcke untereinander angeordnet.
Ich möchte nun die Spalten-Inhalte ab D6 Zeilenweise sortieren.
Die Spaltenlänge geht von D bis T.
Es soll also die Reihenfolge in Spalte D zu der Vorgabe in in Spalte C entsprchen.
Sobalt die Zahl oder der Buchstabe in D sich wiederholt beginnt der nächste Block.
Dies soll sich wiederholen bis alle Zeilen in Spalte D sortiert worden sind.
Kann dies mit einem Makro gelöst werden?
https://www.herber.de/bbs/user/129834.xlsx
LG
Lemmy

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: immer "A" als letztes?
17.05.2019 09:08:14
Fennek
Hallo Egert,
falls jede Gruppe mit "A" abgeschlossen wird und sonst nur Zahlen in der Spalte stehen, wäre ein Ansatz:

for each ar in columns(4).specialcells(2,2).areas
mfg
AW: immer "A" als letztes?
17.05.2019 09:41:49
lemmy
Hallo Fennek,
A (C6) kann auch 1 heißen.
In Spalte C kann 1-30 stehen aber auch A, B,..... oder 1,2,A,B, ....stehen.
Konkret: Würde nun sortiert, müsste die Zeile D15 (beginnend mit A) in Zeile D6 geschoben werden.
...und die Zeile D25 beginnent mit A in D31 verschoben werden.
LG
Lemmy
Ich versteh nur..
17.05.2019 09:59:26
UweD
.. Bahnhof.
Mach doch mal ein 2. Blatt; so, wie du es gene haben möchtest (zum besseren Verständnis kannst du ja die Farben so belassen)
LG UweD
Anzeige
AW: Ich versteh nur..
17.05.2019 13:10:47
lemmy
Hallo Fennek,
vielen Dank für deinen Hinweis!
Im Arbeitsblatt: Ziel_Ergbins habe ich manuel die Sortierung durchgeführt.
https://www.herber.de/bbs/user/129845.xlsx
LG
Lemmy
AW: Ich versteh nur..
17.05.2019 15:13:19
UweD
Hallo nochmal
so?
Sub Lemmy()
    Dim Z1 As Integer, Sp As Integer, N As Integer, Block As Integer, Zeile As Integer
    Dim LR As Integer, RNG, LG As Integer, i As Integer, Finde As Variant, B As Integer
    
    Z1 = 6 'Erste DatenZeile 
    Sp = 4 'Spalte 4 
    B = 17 'bis T 
    N = 30 ' Zeilen je Block 
    
    Application.ScreenUpdating = False 'flackern ausschalten 
    
    LR = Cells(Rows.Count, Sp).End(xlUp).Row 'letzte Zeile der Spalte D 
    LG = Cells(Rows.Count, "A").End(xlUp).Row 'letzte Zeile der Spalte A 

    For i = LR To Z1 Step -1
        Finde = Cells(i, Sp)
        
        'Wie oft vorhanden ? = Block 
        Block = WorksheetFunction.CountIf(Cells(Z1, Sp).Resize(LR - Z1 + 1, 1), Finde)
        
        Set RNG = Cells((Block - 1) * N + Z1, Sp - 1).Resize(N, 1)
        
        'Einfügezeile 
        Zeile = WorksheetFunction.Match(Finde, RNG) + (Block - 1) * N + Z1 - 1
               
        'verschieben 
        With Cells(i, Sp).Resize(1, B)
            .Copy Cells(Zeile, Sp).Resize(1, B).Offset(0, B)
            .Clear
        End With
    Next
    
    'Alten Bereich löschen 
    Cells(Z1, Sp).Resize(LG - Z1 + 1, B).Delete xlToLeft
    
End Sub

LG UweD
Anzeige
AW: Ich versteh nur..
17.05.2019 16:13:58
lemmy
Hallo Uwe,
das sieht ziehmilch perfekt aus.
Erster Test war alles gut.
Vielen Dank!
LG
Lemmy
Prima! Danke für die Rückmeldung. owT
17.05.2019 16:19:32
UweD

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige