Forum:Excel
Thema:Liste sortieren mit Trennlinien
Möchten Sie sich registrieren?
Wer darf antworten? Registrierte Benutzer können Beiträge verfassen.
Hinweise zur Registrierung Sie müssen registriert sein, um Beiträge oder Antworten auf Beiträge schreiben zu können.
Ihr Benutzername:
Ihr Kennwort:   Kennwort vergessen?
Anhang:    Datei(en) anhängen  <?>   Anhänge verwalten  <?>
Grafik für den Beitrag:                                                
                                                       
Ihre Antwort:

Fachbegriff
URL
Email
Fett
Kursiv
Durchgestr.
Liste
*
Bild
Zitat
Code

*HTML ist AUS
*UBB-Code ist AN
Smilies Legende
Netiquette

10 20 40

Optionen Smilies in diesem Beitrag deaktivieren.
Signatur anfügen: die Sie bei den Voreinstellungen angegeben haben.

Wenn Sie bereits registriert sind, aber Ihr Kennwort vergessen haben, klicken Sie bitte hier.

Bitte drücken Sie nicht mehrfach auf "Antwort speichern".

*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.

T H E M A     A N S E H E N
piston

Beiträge: 140 / 0

Pro/E WF4<P>Windows XP 64bit

Hallo!

Ich hoffe es kann mit jemand bei folgendem Problem weiterhelfen:

Ich habe eine Liste:

Ab1
Ab3
Ab5
Ab3
Bb2
Bb1
Ab3

Diese soll eventuell mit Hilfe eines Makros in folgende Form gebracht werden:

Ab1
---
Ab3
Ab3
Ab3
---
Ab5
---
Bb1
---
Bb2

Das heißt: Sortieren, aber auch nach jeder neuen Bezeichnung (neuem Zelleninhalt) soll eine Trennzeile mit z.B. "---" eingefügt werden.

Ich brauche das, da ich eine sehr lange Liste habe, über die ich auf einem anderen Arbeitsblatt mittels Datenüberprüfung ein Drop Down zur Werteauswahl erstellt habe. Um sich im Drop Down leichter orientieren zu können, wären solche Trennlinien sehr hilfreich.

DANKE!

skyzem

Beiträge: 400 / 131

Win 7 Enterprise x64
Cornerstone 5.3.0.5
Minitab 16.2.1.0
Excel 2010
Notepad++ 6.3.1
Putty 0.63
Calc.exe

Hallo piston

Hier, quick & dirty:

Als erstes musst du die Spalte sortieren, egal ob von A-Z oder von Z-A, hauptsache gleiche Werte liegen untereinander. Dann folgendes Makro starten, wobei du den Startpunkt (Erste Zelle der Liste) bei den zwei Konstanten angibst. 1,1 für A1

Code:
Sub test()
    Const spalte As Integer = 1 '(Enspricht A)
    Const starzeile As Integer = 1 '(Enspricht 1)
   
    LCiR = Cells(Rows.Count, spalte).End(xlUp).Row
   
    For i = starzeile + 1 To LCiR
        If Cells(i, spalte) <> Cells(i - 1, spalte) Then
            Cells(i, spalte).Insert Shift:=xlDown
            Cells(i, spalte).Value = "---"
            i = i + 1
        End If
    Next
End Sub

  

PS. Das Sortieren kannst du ja mit dem Makrorecorder aufzeichnen.

------------------
      MfG skyzem
            Wir mögen Menschen, die frisch heraus sagen, was sie denken - falls sie dasselbe denken wie wir.
                  isleofwords.com - shortstorys in between
                        

[Diese Nachricht wurde von skyzem am 19. Feb. 2013 editiert.]

piston

Beiträge: 140 / 0

Pro/E WF4<P>Windows XP 64bit

Hallo!


Danke erstmal!

Das Makro hat nur den Hacken, das solange Ab1, Ab3, usw. in den Zellen steht funktioniert es, aber leider nicht mehr ab Bb1,...

Schönen Gruß

StefanBerlitz

Beiträge: 8756 / 682

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

Hallo piston,

das passiert bei schnellen, dreckigen Makros schon mal - in dem Fall liegt es daran, dass durch das Einfügen der Zeilen mit dem Strich die Anzahl der Zeilen nicht mehr bis zum Ende hin stimmt. In diesem Fall ist es besser von hinten nach vorne die Zeilen zu durchlaufen. Hier das angepasste Makro von skyzem:

Code:

Sub test()
    Const spalte As Integer = 1 '(Enspricht A)
    Const starzeile As Integer = 1 '(Enspricht 1)
   
    LCiR = Cells(Rows.Count, spalte).End(xlUp).Row
   
    For i = LCiR To starzeile + 1 Step -1
        If Cells(i, spalte) <> Cells(i - 1, spalte) Then
            Cells(i, spalte).Insert Shift:=xlDown
            Cells(i, spalte).Value = "---"
        End If
    Next
End Sub

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

skyzem

Beiträge: 400 / 131

Win 7 Enterprise x64
Cornerstone 5.3.0.5
Minitab 16.2.1.0
Excel 2010
Notepad++ 6.3.1
Putty 0.63
Calc.exe

Danke Stefan  

Der Code war ja wirklich richtig dreckig  
Sogar die ts habe ich in Entspricht versudelt...

------------------
      MfG skyzem
            Wir mögen Menschen, die frisch heraus sagen, was sie denken - falls sie dasselbe denken wie wir.
                  isleofwords.com - shortstorys in between
                        

[Diese Nachricht wurde von skyzem am 19. Feb. 2013 editiert.]

piston

Beiträge: 140 / 0

Pro/E WF4<P>Windows XP 64bit

DANKE - PERFEKT!