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

Sortieren einer Gliederung 1.1 , 1.1.1

Forumthread: Sortieren einer Gliederung 1.1 , 1.1.1

Sortieren einer Gliederung 1.1 , 1.1.1
25.01.2016 15:05:29
Alex
Hallo zusammen,
ich habe in Spalte A Gliederungspunkte und B den dazugehören Text.
Über eine Userform kann ich jetzt weitere Unterpunkte+Text einfügen (wird in der ersten freien Zeile unten eingefügt) und im Anschluss sortiert mit:
Columns("A:B").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal

Die Funktion funktioniert soweit, bis auf den Fehler:
1.1
1.10
1.2
.
.
.
Gibt es da einen Trick/Funktion, womit er die 1.10 nach 1.2 einsortiert bzw. eine komplett andere Sortierfunktion dafür?
Vielen Dank!
Gruß Alex!

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Sortieren einer Gliederung 1.1 , 1.1.1
25.01.2016 16:11:41
Alex
Hallo,
mittels einer Hilfsspalte habe ich es jetzt hinbekommen.
Gibt es noch eine Lösung ohne Hilfsspalte?
Gruß Alex.

AW: Sortieren einer Gliederung 1.1 , 1.1.1
25.01.2016 16:28:43
firmus
Hi Alex,
auf die Schnelle kenne ich hier nur 1.01 1.02 1.10 - aber ob das gefällt ?
Gruß
Firmus

AW: Sortieren einer Gliederung 1.1 , 1.1.1
26.01.2016 14:28:00
Alex
Servus,
Code ist jetzt folgender:

Sub sor(ws As Worksheet)
Dim rng As Range
For Each rng In ws.Range(ws.Cells(1, 1), ws.Cells(Rows.Count, 1).End(xlUp))
rng.Cells(, 3) = "f" & rng.Cells(, 1)
rng.Cells(, 3).Font.ColorIndex = 1 'BIS HIERHIN
Columns("A:C").Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Range(Cells(1, 3), Cells(Rows.Count, 3).End(xlUp)).ClearFormats
Range(Cells(1, 3), Cells(Rows.Count, 3).End(xlUp)).Clear
Next rng
End Sub

Problem: 'BIS HIERHIN läuft der Code auf allen Tabellenblätter, nur das Sortieren funktioniert nicht.
Ich denke es liegt daran, dass ws nicht eingebunden ist in die Sortierfunktion. Wie ist den nda die Syntax?
Danke!
Gruß Alex
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Gliederung sortieren in Excel: 1.1, 1.1.1 und mehr


Schritt-für-Schritt-Anleitung

Um eine Gliederung in Excel richtig zu sortieren, insbesondere wenn es um Nummerierungen wie 1.1, 1.1.1 oder 1.1.1.10 geht, kannst Du folgende Schritte befolgen:

  1. Daten eingeben: Stelle sicher, dass Deine Gliederungspunkte in Spalte A stehen und der dazugehörige Text in Spalte B.
  2. Hilfsspalte verwenden (optional): Du kannst eine Hilfsspalte (z.B. Spalte C) nutzen, um die Nummerierung so zu formatieren, dass Excel sie korrekt sortieren kann.
  3. Nummerierung anpassen: In der Hilfsspalte kannst Du die Nummerierung wie folgt anpassen:
    Sub sor(ws As Worksheet)
       Dim rng As Range
       For Each rng In ws.Range(ws.Cells(1, 1), ws.Cells(Rows.Count, 1).End(xlUp))
           rng.Cells(, 3) = "f" & rng.Cells(, 1)
           rng.Cells(, 3).Font.ColorIndex = 1
       Next rng
    End Sub
  4. Sortieren: Verwende den Befehl:
    Columns("A:C").Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlNo
  5. Formatierung zurücksetzen: Nachdem die Sortierung abgeschlossen ist, kannst Du die Hilfsspalte leeren:
    Range(Cells(1, 3), Cells(Rows.Count, 3).End(xlUp)).Clear

Häufige Fehler und Lösungen

  • Problem mit der Sortierung: Wenn die Sortierung nicht wie gewünscht funktioniert, könnte das daran liegen, dass Excel die Zahlen nicht richtig interpretiert. Stelle sicher, dass alle Nummern korrekt formatiert sind.
  • Hilfsspalte nicht gewünscht: Wenn Du keine Hilfsspalte verwenden möchtest, kannst Du die Nummerierung direkt in der Spalte A anpassen, indem Du führende Nullen hinzufügst (z.B. 1.01, 1.02).

Alternative Methoden

Falls Du keine VBA-Programmierung verwenden möchtest, kannst Du die Funktion „Sortieren“ in Excel direkt nutzen:

  1. Markiere die Zellen in Spalte A.
  2. Gehe zu „Daten“ > „Sortieren“.
  3. Wähle „Benutzerdefiniert“ und gib an, wie Du die Sortierung möchtest (z.B. nach Nummern).

Praktische Beispiele

Beispiel 1: Wenn Du die Gliederungspunkte 1.1, 1.10 und 1.2 hast und sie in der richtigen Reihenfolge sortieren möchtest, kannst Du eine Hilfsspalte nutzen, um die Werte wie folgt anzupassen:

Spalte A Spalte B Spalte C
1.1 Text zu 1.1 f1.1
1.10 Text zu 1.10 f1.10
1.2 Text zu 1.2 f1.2

Beispiel 2: Um Unterpunkte in Excel einzufügen, kannst Du einfach eine neue Zeile unter dem Hauptpunkt hinzufügen und die Nummerierung entsprechend anpassen (z.B. 1.1.1 für den ersten Unterpunkt von 1.1).


Tipps für Profis

  • Verwende benutzerdefinierte Sortierung: Du kannst die Sortierfunktion so anpassen, dass sie eine benutzerdefinierte Liste verwendet, um bestimmte Gliederungen priorisiert zu behandeln.
  • Makros speichern: Wenn Du häufig mit der Excel Nummerierung 1.1 arbeitest, speichere Deinen Sortiercode als Makro, um die Effizienz zu steigern.

FAQ: Häufige Fragen

1. Wie kann ich Unterpunkte in Excel einfügen?
Um Unterpunkte in Excel hinzuzufügen, füge einfach eine neue Zeile unter dem Hauptpunkt hinzu und passe die Nummerierung an (z.B. 1.1.1).

2. Warum funktioniert meine Sortierung nicht richtig?
Die Sortierung könnte fehlschlagen, wenn Excel die Daten als Text interpretiert. Stelle sicher, dass die Zellen als Zahlen formatiert sind oder nutze eine Hilfsspalte, um die Daten korrekt zu formatieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige