Zum Sortieren von Excel-Spalte S. T. Zeilen w/ Null/Leer-Spalte Zelle Gehen An der Spitze?
Ich habe mehrere Zeilen mit Daten und 'flags', die ausgelöst werden, neben den Daten, wenn ein makro ausgeführt wird.
Zum Beispiel:
Vorname | Nachname | Flagge
John | Smith | Needs a Bath
Cindy | LuWho |
Bob | Loblaw | Needs a Bath
Ziel:
Ich möchte die Zeilen, die w/o-flags (D. H. wenn Spalte C == NULL/Leer-string) sortiert werden nach oben und dann Sortieren nach Spalte B, die von A->Z, diese zu bekommen:
Cindy | LuWho |
Bob Loblaw | Braucht eine Badewanne
John | Smith |
Muss eine Badewanne
, Was ich Versucht habe:
Mit Excel 2007 ist 'Sortiert' ist, habe ich "Sortieren nach" (Spalte C), Sortieren (Werte) Sortieren (A-Z) und (Z bis A). Sowohl Eine zu Z und Z zu Einem Ergebnis in die markierten Zeilen nach oben, und nicht unten.
Bevor:
Nach:
Ich letztendlich wollen Sie den code, aber ich bin gerade dabei, herauszufinden, wie zu tun Sie es von hand, so kann ich dann den code durch Excel 'Makro Aufzeichnen'.
- Sind Sie sicher? Ich habe nur Excel 2010, aber wenn ich diese Art von Z bis A, Leerzeichen sind an der Spitze. Wenn ich Sortieren A bis Z, Leerzeichen am Ende. Ich wäre überrascht, wenn Sie die Art verändert, wie
Sort
Funktionalität arbeitet. - Ich versuchte es auf 2007 und Sortieren von A bis Z gibt das Ergebnis, die Sie erwarten. Ich bin mir nicht sicher, was Sie Taten, aber du hast es falsch 😀
- Ich habe aktualisiert, mit Bildern von Prozess. Lassen Sie mich wissen, wenn du bist irgendwie geht das anders oder habt eine Idee, was mache ich "falsch" hier.
- Zemens und @Alexandre, sind Sie beide mit leeren Feldern? Der Unterschied hier ist, dass Kurt ist mit Hilfe einer Formel in Spalte C. Wenn Sie ersetzen Sie leere Zellen mit
=""
können Sie das Verhalten Kurt beschreibt. - hmm guter Fang. Sortierung Formeln ist immer ein bisschen problematisch. Eine hilfsspalte ist wahrscheinlich der beste Weg, dies zu tun, wie Sie vermuten.
- Tatsächlich, ich bin Art von Hoffnung, jemand nach etwas einfacher. Meine Antwort funktioniert, aber es fühlt sich an wie zu viel.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Pro mein Kommentar oben, das problem ist, dass Sie mit einer Formel, ergibt einen leeren string. Wenn das Feld war tatsächlich leer, müsste man das Verhalten, die Sie suchen.
Hier ein dreckig-aber-es-funktioniert Ansatz:
=IF(C2<>"",2,1)
und Füllung nach unten.""
. Technisch gesehen, könnte man ein makro schreiben, um es für Sie tun, aber dann würden Sie haben, um es zu speichern als .xlsm, es werden makro-Warnungen, etc. Ich empfehle nur tun, den obigen Ansatz. Ich habe es selbst schon angewandt.Beendete ich kommen mit einer Lösung, die IMO, ist eleganter als @Poweruser 's schaffen eine weitere Spalte ein, füllen Sie es, verstecken Sie es, und verwenden Sie dann Sortieren Sie die versteckte Spalte. Meine Methode nutzt die Schriftfarbe ändert sich basierend auf bedingte Formatierung und die Arten davon.
=IF(INDIRECT("RC",0)="",TRUE,FALSE)
Mit ein wenig basteln von aufgezeichneten makro, ich habe folgenden funktionierenden code (welcher auch sortiert nach dem Wert einer anderen Spalte nach der Sortierung für die 'leeren' Zellen):
Einer der Lösungen ist zu ersetzen Leerzeichen mit einfachen Anführungszeichen (
'
) vor der Sortierung. Es ist nicht sichtbar, aber es ist nichtNULL
. Siehe das code-Beispiel: