Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 11:16:26
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Ausgewählte Zellen sortieren

Ausgewählte Zellen sortieren
09.06.2017 14:18:00
Peter
Hallo zusammen,
bin ein echter VBA Einsteiger und habe folgendes Problem:
Ich möchte einen Teil einer Tabelle mit mehrern Zeilen auswählen. Die Spalten sind dabei immer gleich (Spalte C bis inkl. T).
Den markierten Tabellenbereich möchte ich in sich benutzerdefiniert nach Werten der Spalte D sortieren. Die Reihenfolge soll hier l, p, g, A, E sein.
Dabei soll l ganz oben stehen.
Momentan sortier ich benutzerdefiniert. Das ist mir aber auf lange Sicht zu anstrengend :)
Habe es schon mit Makro aufzeichnen proboiert, aber da leg ich mich ja immer auf bestimmte Zellen fest. Ich möchte ja, dass Excel mir die markierten Zellen sortiert.
Würde mich sehr freuen, wenn mir dabei jemand helfen könnte!
Vielen lieben Dank!
Peter
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Ausgewählte Zellen sortieren
09.06.2017 17:56:58
Hajo_Zi
Halo Peter für Bereich Selection.

AW: Ausgewählte Zellen sortieren
12.06.2017 09:09:37
Peter
Hi Hajo :) Danke für deine Antwort. Wie implementier ich das?
lg Peter
Sub Sortieren()
' Sortieren Makro
ActiveWorkbook.Worksheets("Aktueller Status Prst").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Aktueller Status Prst").Sort.SortFields.Add Key:= _
Range("D13177:D13181"), SortOn:=xlSortOnValues, Order:=xlAscending, _
CustomOrder:="l,p,g,A,E", DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Aktueller Status Prst").Sort
.SetRange Range("C13177:T13181")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

Anzeige
AW: Ausgewählte Zellen sortieren
12.06.2017 17:23:55
Hajo_Zi
Hallo Peter,
ersetze
ActiveWorkbook.Worksheets("Aktueller Status Prst").
durch
Selection.
Gruß Hajo
AW: Ausgewählte Zellen sortieren
13.06.2017 10:25:39
Peter
Fehlermeldung: Die Sort-Eigenschaft des Range Objekts kann nicht zugeordnet werden.
Das klappt so nicht :/ mir fehlen da noch die Grundkenntnisse.
Habe es jetzt aber so gelöst, so klappt es:
Option Explicit
Sub sort()
Dim i As Long
Dim fVar As Variant
fVar = Array("l", "p", "g", "A", "E")
i = Application.GetCustomListNum(fVar)
If i > 0 Then
If Not Intersect(Selection, Columns("D")) Is Nothing Then
Call Selection.sort( _
Key1:=Intersect(Selection, Columns("D")), _
Order1:=xlAscending, _
Orientation:=xlSortColumns, _
Header:=xlNo, _
Dataoption1:=xlSortNormal, _
OrderCustom:=i + 1)
Else
Call MsgBox(Prompt:="Spalte D (für Sortierreihenfolge) muss mit ausgewählt sein", Buttons:= _
vbOKOnly + vbInformation, Title:="Fehler")
End If
Else
Call MsgBox(Prompt:="Die gesuchte Sortierreihenfolge """ & Join(fVar, ", ") & """ gibt es  _
nicht", Buttons:=vbOKOnly + vbInformation, Title:="Fehler")
End If
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Ausgewählte Zellen in Excel sortieren


Schritt-für-Schritt-Anleitung

Um in Excel nur bestimmte Zeilen zu sortieren, folge diesen Schritten:

  1. Markiere den gewünschten Bereich: Wähle die Zellen aus, die Du sortieren möchtest (z.B. Spalte C bis T).

  2. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf VBAProject (DeinWorkbookName) und wähle Einfügen > Modul.

  4. Füge den Code ein: Kopiere den folgenden VBA-Code in das Modul:

    Sub Sortieren()
        Dim fVar As Variant
        fVar = Array("l", "p", "g", "A", "E")
    
        Dim i As Long
        i = Application.GetCustomListNum(fVar)
    
        If i > 0 Then
            If Not Intersect(Selection, Columns("D")) Is Nothing Then
                Call Selection.Sort( _
                    Key1:=Intersect(Selection, Columns("D")), _
                    Order1:=xlAscending, _
                    Orientation:=xlTopToBottom, _
                    Header:=xlNo, _
                    DataOption1:=xlSortNormal, _
                    OrderCustom:=i + 1)
            Else
                MsgBox "Spalte D (für Sortierreihenfolge) muss mit ausgewählt sein", vbOKOnly + vbInformation, "Fehler"
            End If
        Else
            MsgBox "Die gesuchte Sortierreihenfolge """ & Join(fVar, ", ") & """ gibt es nicht", vbOKOnly + vbInformation, "Fehler"
        End If
    End Sub
  5. Führe das Makro aus: Schließe den VBA-Editor und gehe zurück zu Excel. Wähle den gewünschten Bereich aus und führe das Makro Sortieren aus.


Häufige Fehler und Lösungen

  • Fehlermeldung: Die Sort-Eigenschaft des Range Objekts kann nicht zugeordnet werden:

    • Stelle sicher, dass Du den richtigen Bereich ausgewählt hast und dass die Spalte D Teil Deiner Auswahl ist.
  • Das Makro funktioniert nicht:

    • Überprüfe, ob Du das richtige Arbeitsblatt ausgewählt hast. Du kannst auch die Zeile ActiveWorkbook.Worksheets("Aktueller Status Prst") durch Selection ersetzen, um den markierten Bereich zu verwenden.

Alternative Methoden

Wenn Du Excel nur bestimmte Zeilen sortieren möchtest, kannst Du auch die integrierte Sortierfunktion nutzen:

  1. Markiere die gesamte Tabelle.
  2. Gehe zu Daten > Sortieren.
  3. Wähle die Spalte D aus und konfiguriere die Sortieroptionen nach Deinen Wünschen.

Praktische Beispiele

Angenommen, Du hast folgende Daten in den Spalten C bis T:

C D E
Wert1 l ...
Wert2 p ...
Wert3 g ...
Wert4 A ...
Wert5 E ...

Nach dem Ausführen des Makros wird die Tabelle so sortiert, dass die Zeile mit "l" oben steht, gefolgt von "p", "g", "A" und "E".


Tipps für Profis

  • Makros automatisieren: Du kannst das Makro in eine Schaltfläche einfügen, um den Sortiervorgang einfacher zu gestalten.
  • Bedienfeld anpassen: Nutze die Benutzeroberfläche von Excel, um häufig genutzte Funktionen in der Schnellzugriffsleiste zu speichern.
  • Datenüberprüfung: Achte darauf, dass die Auswahl keine leeren Zellen in der Spalte D enthält, da dies die Sortierlogik stören kann.

FAQ: Häufige Fragen

1. Kann ich auch mehrere Spalten gleichzeitig sortieren?
Ja, Du kannst mehrere Spalten in Deinem VBA-Code angeben und entsprechend anpassen.

2. Gibt es eine Möglichkeit, die Sortierreihenfolge zu speichern?
Ja, Du kannst die benutzerdefinierte Sortierreihenfolge in Excel speichern, indem Du die benutzerdefinierten Listen in den Excel-Optionen verwaltest.

3. Wie kann ich sicherstellen, dass die Sortierung korrekt durchgeführt wird?
Prüfe immer, ob die Spalte D, die zur Sortierung verwendet wird, in Deinem ausgewählten Bereich enthalten ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige