Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1084to1088
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

leere Zellen beim Sortieren

leere Zellen beim Sortieren
Christoph
Hallo zusammen,
in der Tabelle (https://www.herber.de/bbs/user/62954.xls). Möchte ich die drei Spalten jeweils für sich sortieren. Allerdings werden dabei immer wieder Leerzellen zwischen die gefüllten Zellen sortiert. Egal ob ich per VBA sortiere, oder manuell über Daten-Sortieren.
Ich möchte einfach nur die gefüllten Zellen nach Zahlen und Buchstaben aufsteigend sortiert haben....
Das ganze idealerweise per VBA.
Bisher nutze ich:

Columns("B:B").Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
Range("E1") = "Auftrag"
Range("E2:E2000").FormulaR1C1 = "=IF(RC[-3]=R[-1]C[-3],"""",RC[-3])"
Columns("E:E").Copy
Columns("E:E").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Columns("E:E").Sort Key1:=Range("E1"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers


Leider sind von vornherein viele leere Zellen dazwischen. Deshalb der Umweg...
Kann mir da jemand helfen?
Vielen Dank
Christoph

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: leere Zellen beim Sortieren
06.07.2009 16:32:03
Lars
Hi,
die Zellen sind ja nur optisch leer, sie enthalten Text der Länge 0.
mfg Lars
AW: leere Zellen beim Sortieren
06.07.2009 21:56:08
Christoph
Und wie werde ich den möglichst elegant los?
Mit Suchen und Ersetzen? Wonach suche ich denn dann? nach "0" funktioniert nicht.
Aber: Wenn die Werte "0" sind, wieso ist dann die Sortierreihenfolge zum Beispiel so? (natürlich mit mehr Werten...)
"12345.67"
""
"U12345.67"
So richtig rund ist das alles irgendwie noch nicht, aber ich komme auch nicht mehr recht weiter, leider... :-(
Gruß
Christoph
AW: leere Zellen beim Sortieren
06.07.2009 22:06:41
Lars
Hi,
kopiere nur die Zellen mit Wrten/Formeln in eine neue Mappe.
Die Zellen sind nicht "0", sondern ein String mit der Länge NULL, das ist nicht dasselbe.
mfg Lars
Anzeige
AW: leere Zellen beim Sortieren
06.07.2009 22:10:55
Christoph
Die Werte kommen aus einem anderen Tabellenblatt und werden mehrfach als "nur Werte" hin und her kopiert. Problem hierbei ist, dass ich eine automatische Auswertung baue und daher ein kopieren zwischen mehreren Mappen nicht in Frage kommt.
Gibt es hier wirklich keine einfachere Lösung wie man seine Leerzellen loswird?
Abendliche Grüße an die Excel-Gemeinde
Christoph
AW: leere Zellen beim Sortieren
06.07.2009 22:24:17
Lars
Hi,
versteh doch mal, das sind nicht wirklich Leerzellen, die sehen nur so aus, markier sie
und entferne sie mittels Zellen löschen(nicht Inhalte!).
Wenn die durch irgendwelche Kopieraktionen zustande kommen, musst du sie halt
mittels Code beseitigen, indem du ihre Länge abfragst, die ist in jedem Fall 0.
mfg Lars
Anzeige
Problem gelöst
07.07.2009 16:16:28
Christoph
Ok. Ich hab's eingesehen.
Falls jemanden meine Fuckel-Lösung interessiert: Hier ist Sie für's Archiv:
Es werden zwar relativ viele Daten bewegt, man ist aber in ein paar Sekunden damit durch. Bei sämtlich Varianten die ich mit For...Next und anderen Schleifen probiert habe, lief das Makro mehrere Minuten!
Vielen Dank an Lars für die geduldige Hilfe.
Gruß
Christoph

' Nullzellen entfernen
Dim Nullzellen As Integer
Dim Ver2_genZei As Integer
Ver2_genZei = 2000
Range("E2:H" & Ver2_genZei).FormulaR1C1 = "=IF(LEN(RC[-4])>0,2,1)"
Columns("E:H").Copy
Columns("E:H").PasteSpecial Paste:=xlPasteValues
Columns("A:H").Sort Key1:=Range("E1"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Nullzellen = [COUNTIF(E:E,"1")]
If Nullzellen > 0 Then
Range("A2:A" & (Nullzellen + 1)).Delete Shift:=xlUp
End If
Columns("A:H").Sort Key1:=Range("F1"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Nullzellen = [COUNTIF(F:F,"1")]
If Nullzellen > 0 Then
Range("B2:B" & (Nullzellen + 1)).Delete Shift:=xlUp
End If
Columns("A:H").Sort Key1:=Range("G1"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Nullzellen = [COUNTIF(G:G,"1")]
If Nullzellen > 0 Then
Range("C2:C" & (Nullzellen + 1)).Delete Shift:=xlUp
End If
Columns("A:H").Sort Key1:=Range("H1"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Nullzellen = [COUNTIF(H:H,"1")]
If Nullzellen > 0 Then
Range("D2:D" & (Nullzellen + 1)).Delete Shift:=xlUp
End If
Columns("E:H").ClearContents
' SPalten A:D aufsteigend sortieren.
Columns("A:A").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
If Range("A2") = 0 Then
Range("A2").Delete Shift:=xlUp
End If
Columns("B:B").Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
If Range("B2") = 0 Then
Range("B2").Delete Shift:=xlUp
End If
Columns("C:C").Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
If Range("C2") = 0 Then
Range("C2").Delete Shift:=xlUp
End If
Columns("D:D").Sort Key1:=Range("D1"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
If Range("D2") = 0 Then
Range("D2").Delete Shift:=xlUp
End If


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige