Sortierung in Excel mittels Makro

Hallo zusammen ,
habe folgendes Problem:
ich möchte in einer Tabelle mehrere Spalten per Makro sortieren lassen und habe dies per Aufzeichnung geschrieben und nun ist es so das excel nicht bei allen Spalten die Sortierung korrekt ausführt, zb
ich lasse die Spalten von A6-A34,B6-C34,C6-C34 sortieren und nun ist es so das mal in der Spalte A nicht bis in Zelle 6 sondern nur bis Zelle 7 sortiert wird. Wo kann hier der Fehler sein

ich möchte in einer Tabelle mehrere Spalten per Makro
sortieren lassen und habe dies per Aufzeichnung geschrieben
und nun ist es so das excel nicht bei allen Spalten die
Sortierung korrekt ausführt, zb
ich lasse die Spalten von A6-A34,B6-C34,C6-C34 sortieren und
nun ist es so das mal in der Spalte A nicht bis in Zelle 6
sondern nur bis Zelle 7 sortiert wird. Wo kann hier der Fehler
sein

Hi Micha,

tausche mal in Zeile 3 des Codes das „,“ gegen ein „:“ :smile:))

Zum Problem, hast du verbundene Zellen, Gruppierungen, sonstige Problematiken in der Tabelle?

Zeig mal den Code und lad mal eine beispieltabelle hoch, FAQ:2861

Gruß
Reinhard

Hi Reinhard

hier die Datei:
http://www.hostarea.de/server-08/August-b63bd51d56.xls

und hier der code:

Sub sortierung()

Range(„A6:A38“).Select
Selection.sort Key1:=Range(„A6“), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Range(„B6:B38“).Select
Selection.sort Key1:=Range(„B6“), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Range(„C6:C38“).Select
Selection.sort Key1:=Range(„C6“), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Range(„D6:smiley:38“).Select
Selection.sort Key1:=Range(„D6“), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Range(„E6:E38“).Select
Selection.sort Key1:=Range(„E6“), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Range(„F6:F38“).Select
Selection.sort Key1:=Range(„F6“), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Range(„G6:G38“).Select
Selection.sort Key1:=Range(„G6“), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Range(„H6:H38“).Select
Selection.sort Key1:=Range(„H6“), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Range(„I6:I38“).Select
Selection.sort Key1:=Range(„I6“), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Range(„J6:J38“).Select
Selection.sort Key1:=Range(„J6“), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Range(„K6:K38“).Select
Selection.sort Key1:=Range(„K6“), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Range(„L6:L38“).Select
Selection.sort Key1:=Range(„L6“), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

End Sub

ich hoffe damit kann man etwas anfangen

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

http://www.hostarea.de/server-08/August-b63bd51d56.xls

ich hoffe damit kann man etwas anfangen

Hi Micha,

soll man leere Zellen sortieren? In deinen Tabellen stehen ja gar keine Daten drin. Lade mal bitte eine Datei hoch mit beliebigen Beispieldaten wo das passiert was du sagst.

Gruß
Reinhard

Hi Reinhard

ups natürlich nicht
hier eine mit Beispieldaten
in der Die Sortierung in Tab: Ergebnis 11 km nicht
funktioniert
http://www.hostarea.de/server-08/August-d175279fa6.xls

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Grüezi Micha

ich möchte in einer Tabelle mehrere Spalten per Makro
sortieren lassen und habe dies per Aufzeichnung geschrieben
und nun ist es so das excel nicht bei allen Spalten die
Sortierung korrekt ausführt, zb
ich lasse die Spalten von A6-A34,B6-C34,C6-C34 sortieren und
nun ist es so das mal in der Spalte A nicht bis in Zelle 6
sondern nur bis Zelle 7 sortiert wird. Wo kann hier der Fehler
sein

hier der code:

Sub sortierung()

Range(„A6:A38“).Select
Selection.sort Key1:=Range(„A6“), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Mit der aufgezeichneten Einstellung Header:=xlGuess überlässt Du Excel die Entscheidung, ob der zu sortierende Bereich eine Spaltenüberschrift aufweist oder nicht.

Passe deinen Code wie folgt an (das .Select des Recorders habe ich auch gleich entfernt), dann sollte es passen:

 Range("A6:A38").sort Key1:=Range("A6"), \_
 Order1:=xlAscending, \_
 Header:=xlNo, \_
 OrderCustom:=1, \_
 MatchCase:=False, \_
 Orientation:=xlTopToBottom, \_
 DataOption1:=xlSortNormal

Mit freundlichen Grüssen
Thomas Ramel

  • MVP für Microsoft-Excel -
    [Win XP Pro SP-2 / xl2003 SP-3]

hier eine mit Beispieldaten
in der Die Sortierung in Tab: Ergebnis 11 km nicht
funktioniert
http://www.hostarea.de/server-08/August-d175279fa6.xls

Hi Micha,

probiers mal so:

Sub sortierung()
Dim Spa As Long
For Spa = 1 To 12
 Range(Cells(6, Spa), Cells(38, Spa)).sort Key1:=Cells(6, Spa), Order1:=xlAscending, Header:=xlNo, \_
 OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Next Spa
End Sub

Den einen Parameter von Sort, irgendwas mit „Normal“ mußt du wieder einbauen. Mein XL2000 kennt den nicht.

Gruß
Reinhard

Hi Thomas

Danke für den Code werde ihn ausprobieren

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Micha,

probiers mal so:

Sub sortierung()
Dim Spa As Long
For Spa = 1 To 12
Range(Cells(6, Spa), Cells(38, Spa)).sort Key1:=Cells(6,
Spa), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom
Next Spa
End Sub

Den einen Parameter von Sort, irgendwas mit „Normal“ mußt du
wieder einbauen. Mein XL2000 kennt den nicht.

Gruß
Reinhard

Hi Reinhard

Danke für die Hilfe werde es probieren

Gruß Micha