Herbers Excel-Forum - das Archiv
Sortieren
Informationen und Beispiele zu den hier genannten Dialog-Elementen:
- Sortieren von Walter MB vom 15.12.2006 10:39:39
Betrifft: Sortieren
von: Walter MB
Geschrieben am: 15.12.2006 10:39:39
Guten Morgen,
ich möchte gern die Spalte "K" sortieren, darin stehen Datumswerte.
Ich möchte gern das die Zellen ohne Datumswerte als 1. stehen also angefangen
bei K6 bis K15 stehen keine, etc.mit dem Makro klappt es nicht, stehen nur sortiert.
Vielleicht hat jemand schnell eine Idee ???
Private Sub CommandButton12_Click()
Dim z As Long
Range("A5").Select
z = Range("A5").End(xlDown).Row
ActiveSheet.Range(Cells(6, 1), Cells(z, 12)).Select
'--------- sortieren nach Standtage Aufsteigend ----------------
' Order1:=xlAscending, = Aufsteigend
' Order1:=xlDescending, = Absteigend
Selection.Sort Key1:=Range("K6"), Order1:=xlDescending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
mfg Walter MB
Betrifft: Habe Makro aber...
von: Walter MB
Geschrieben am: 15.12.2006 12:10:53
Hallo,
habe in der Recherche das Makro von Erich gefunden, meine Tabelle muß
von A6 ende offen bis L6 sortiert werden, in der Spalte ab K6 sollen die Leerzellen
oben stehen (also als 1.) .
kann man das Makro von Erich irgenwie ändern?
Option Explicit
Sub sortieren3() ' besser ohne Select und Selection
Dim s As Integer, lngZ As Long
lngZ = Cells.CurrentRegion.Rows.Count
For s = 1 To 13 Step 2
Range(Cells(3, s), Cells(lngZ, s + 1)).Sort _
Key1:=Cells(lngZ, s + 1), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Next s
End Sub
Sub sortieren2()
Dim s As Integer, lngZ As Long
lngZ = Cells.CurrentRegion.Rows.Count
For s = 1 To 13 Step 2
Range(Cells(3, s), Cells(lngZ, s + 1)).Select
Selection.Sort Key1:=Cells(lngZ, s + 1), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Next s
End Sub
Sub sortieren1()
Dim s As Integer, lngZ As Long
lngZ = Cells.CurrentRegion.Rows.Count
For s = 1 To 13 Step 2
Range(Cells(3, s), Cells(lngZ, s + 1)).Select
Selection.Sort Key1:=Selection.Cells(1, 2), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Next s
End Sub
'Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
mfg Walter MB
Betrifft: AW: Sortieren
von: Peter Feustel
Geschrieben am: 15.12.2006 14:46:10
Hallo Walter,
füge in die Leerzeilen eine Null ein, sortiere dann (die Null-Zeilen sollten vorne stehen) und lösche die Nullen wieder.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Betrifft: Hallo geht doch nicht
von: Walter
Geschrieben am: 15.12.2006 14:56:23
Hallo Peter,
dann muß ich ja per Makro feststellen lassen, wo 0 fehlen etc.,
ist das nicht umständlich ?
mfg Walter
Betrifft: AW: Hallo geht doch nicht
von: Peter Feustel
Geschrieben am: 15.12.2006 15:04:13
Hallo Walter,
sicher, einmal über die Daten laufen und Nullen einfügen, dann sortieren und dann wieder über die Daten laufen bis keine Null, sondern ein Datum gefunden wird.
Umständlich vielleicht, bringt aber ein Ergebnis.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Betrifft: Ja BITTE
von: Walter
Geschrieben am: 15.12.2006 15:26:18
Hallo Peter,
bitte einen Vorschlag,
Danke im voraus,
mfg Walter
Betrifft: AW: Sortieren
von: Walter
Geschrieben am: 15.12.2006 15:06:41
Hallo Peter,
geht das nicht mit einer Abfrage, wenn Zelle im Bereich:
Dim z As Long
Range("A5").Select
z = Range("A5").End(xlDown).Row
ActiveSheet.Range(Cells(6, 1), Cells(z, 12)).Select
Spalte K Leer, dann die Zeile nach oben setzen, ab Zeile 6 ???
Die Menge der Zeilen feststellen wieviel Leer sind , stehen ja am Ende und dann
entsprechende Anzahl ab Zeile 6 einfügen und dann die entsprechenden Zeilen wo in K nicht drin steht nach oben schieben ?
gruß Walter
War nur so eine Iddee
Betrifft: Danke -)
von: Walter
Geschrieben am: 15.12.2006 19:12:05
Hallo Peter, Danke !!!