Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sortieren + leere Zellen ignorieren

Forumthread: Sortieren + leere Zellen ignorieren

Sortieren + leere Zellen ignorieren
26.08.2004 16:53:26
Niels
Hallo,
ich habe wiedermal ein kleines Problem beim Makro schreiben und komme nicht wirklich weiter...
Kurz zur Erklärung:
Ich habe zwei Tabellenblätter. (Tabelle "AAA" + Tabelle "BBB")
In AAA sind die Zellen A2:A101 für Text vorgesehen
Ich ziehe mir in BBB - A2:A101 den Text aus AAA über eine Wenn-Dann-Formel
(=if(istext('AAA'!A1);'AAA'!A1;"")
Jetzt möchte ich per Makro in BBB die Zeilen 2-101 alphabetisch sortieren.

Sub Sortalpha()
Rows("2:101").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub


Problem:
Bei aufsteigender Sortierung legt er mir die Zeilen, die aufgrund der Wenn-Dann-Bedingung leer sind, aber nach oben.
Ich möchte erreichen, dass leere Zellen ignoriert werden und der Makro zwar den gesamten Bereich (2:101) aufsteigend sortiert, aber die leeren Zeilen hinten anstellt.
Wie kann ich das lösen?
Vielen Dank im Voraus für die Hilfe
Gruß
Niels
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Sortieren + leere Zellen ignorieren
26.08.2004 17:22:10
HerbertH
hallo Niels,
ich habe das immer so gelöst:
(=if(istext('AAA'!A1);'AAA'!A1;"zzz")
die "zzz" habe ich mit Bedingter Formatierung verschwinden lassen...
ob das der Weisheit letzter Schluss ist, weis ich auch nicht...
gruß Herbert
AW: Sortieren + leere Zellen ignorieren
26.08.2004 18:10:24
Das ist zumindest ´ne Idee...
Hallo Herbert,
es scheint ja offenbar keine VBA Lösung zu geben!??
Ich werd´s mal so machen.
Vielen Dank für Deine Hilfe
Viele Grüße
Niels
Anzeige
AW: Sortieren + leere Zellen ignorieren
29.08.2004 09:12:43
andre
... und das ist zumindest mal 'ne VBA - Lösung ;-)
erst absteigend sortieren, dann die leere Zelle feststellen, dann nur bis Zeile dahin - 1 sortieren ...

Sub Sortalpha()
Dim zelle As Range
Rows("2:101").Sort Key1:=Range("A2"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, dataoption1:=xltextasnumbers
Set zelle = Columns("A:A").Find(What:="", After:=[a1], LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False)
If Not zelle Is Nothing Then
Rows("2:" & zelle.Row - 1).Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, dataoption1:=xltextasnumbers
End If
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Sortieren in Excel und leere Zellen ignorieren


Schritt-für-Schritt-Anleitung

Um in Excel die leeren Zellen zu ignorieren und die Daten korrekt zu sortieren, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Vorbereitung der Daten: Stelle sicher, dass deine Daten in einem Bereich (z.B. A2:A101) vorliegen und dass leere Zellen vorhanden sind.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Neues Modul einfügen: Klicke im Menü auf Einfügen > Modul.

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

    Sub Sortalpha()
       Dim zelle As Range
       Rows("2:101").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
       OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    
       ' Leere Zellen ignorieren
       Set zelle = Columns("A:A").Find(What:="", After:=[A1], LookIn:=xlValues, LookAt:= _
       xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
       False, SearchFormat:=False)
    
       If Not zelle Is Nothing Then
           Rows("2:" & zelle.Row - 1).Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
           OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
       End If
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und kehre zu Excel zurück. Drücke ALT + F8, wähle Sortalpha aus und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: Leere Zellen werden nicht ignoriert
    Lösung: Stelle sicher, dass der Code korrekt kopiert wurde und dass die Zeilenangaben (2:101) mit deinem Datenbereich übereinstimmen.

  • Fehler: Sortierung funktioniert nicht wie erwartet
    Lösung: Überprüfe, ob in den Zellen der Bereichs A2:A101 tatsächlich Text oder Werte enthalten sind.


Alternative Methoden

Falls du keine VBA-Lösung verwenden möchtest, kannst du auch die integrierten Filterfunktionen in Excel nutzen:

  1. Markiere deine Daten und gehe zu Daten > Filter.
  2. Klicke auf den Dropdown-Pfeil in der Spaltenüberschrift und deaktiviere die Auswahl für leere Zellen.
  3. Sortiere die verbleibenden Zellen wie gewohnt.

Diese Methode ist besonders nützlich, wenn du Excel ohne Makros verwenden möchtest.


Praktische Beispiele

  • Beispiel 1: Angenommen, du hast in Tabelle "AAA" die Werte in A2:A101 und ziehst sie in Tabelle "BBB". Verwende das Makro, um die Werte alphabetisch zu sortieren und die leeren Zellen ans Ende zu verschieben.

  • Beispiel 2: Wenn du die leeren Zellen am Anfang sortieren möchtest, kannst du den Sortierbefehl anpassen und die Reihenfolge in Order1:=xlDescending ändern.


Tipps für Profis

  • Nutze Bedingte Formatierung, um leere Zellen visuell hervorzuheben, wenn du mit großen Datenmengen arbeitest.

  • Experimentiere mit Benutzerdefinierten Sortierungen, um bestimmte Kriterien anzuwenden, die über die Standardoptionen hinausgehen.


FAQ: Häufige Fragen

1. Wie kann ich leere Zellen in Excel eindeutig ignorieren?
Du kannst den oben genannten VBA-Code verwenden, der speziell dafür konzipiert ist, leere Zellen zu ignorieren.

2. Was passiert, wenn ich die leeren Zellen am Anfang sortieren möchte?
Du kannst den Sortierbefehl im VBA-Code anpassen, um die leeren Zellen nach oben zu verschieben, indem du die Reihenfolge in Order1:=xlAscending änderst und die leeren Zellen zuerst sortierst.

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