Supportnet / Forum / Tabellenkalkulation
makro läuft nicht
Frage
Hallo Leute,
hab folgendes Problem.
Ich hab eine Exceltabelle und möchte diese vor dem Ausführen meiner Makros automatisch sortieren.
Zuerst soll die Tabelle nach dem Datum (Spalte3) dann nach dem NAmen (Spalte2) sortiert werden.
Wenn ich das manuell mache,
-Arbeitsmappe komplett markieren
- Daten --> Sortieren
- Sortieren nach "Spalte3" Aufsteigend, Anschließend nach "Spalte2" Aufsteigend.
funktioniert soweit.
Das ganze hätte ich aber gern per makro.
Also bin ich auf Makro aufzeichnen gegangen und hab das ganze wiederholt.
Dann MAkro aufzeichung beendet und habs dann mal ausgeführt. Wenn ich das Makro über die selbe UNSORTIERTE Tabelle laufen lass, sortiert er mir das ganze nicht richtig, sonder sortiert lediglich die erstrn 2 Zahlen also da kommt dann der 01.09.2007 vor dem 29.08.2007...
wieso funktioniert das ganze wenn ich es manuell mache abe rnicht wenn ich das makro laufen lassen?
hier mal mein makro
Sub Makro2()
'
' Makro2 Makro
' Makro am 13.09.2007 von morpheus aufgezeichnet
'
'
Cells.Select
Selection.Sort Key1:=Range("S1"), Order1:=xlAscending, Key2:=Range("B1") _
, Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom,
DataOption1:=xlSortTextAsNumbers, DataOption2 _
:=xlSortNormal
End Sub
Sieht da jemand einen Fehler?
Ich versteh das irgendwie nicht
gruß
morpheus
Antwort 1 von DukeNT
Hi morpheus,
Sollte da nicht Range("C1") stehen wegen 3.Spalte?
Gruß Niels
Zitat:
Cells.Select
Selection.Sort Key1:=Range("S1"), Order1:=xlAscending,
Cells.Select
Selection.Sort Key1:=Range("S1"), Order1:=xlAscending,
Sollte da nicht Range("C1") stehen wegen 3.Spalte?
Gruß Niels
Antwort 2 von morpheus__85
Hallo DukeNT
das hab ich ganz übersehen.
Hab das Makro per Hand mal ausgebesser gehabt weil ich in Spalte S das Datum mal neu reinkopiert hatte.
Ich versteh das eben nicht.
Die Daten bekomme ich zugesant.
Das Datum steht wiefolgt in der Spalte:
'01.09.2007 00:00:00
Meine erste Vermutung war, das der " ' " am anfang vom Datum das sortieren verhindert.
Wenn ich allerdings mit einem String mit das 1 Zeichen dieses Datums auslesen lasse, wird mir die "0" und nicht der " ' " als erstes Zeichen ausgegeben.
Vor allem: wenn ich per Hand sortieren, dann werden mit die Daten richtig sortiert.
Sobald ich das selbst aufgezeichnete Makro nehme, sortiert mir Excel nach den ersten 2 Zeichen.
ich hab die Daten vom 29.08, 30.08, 31.08 und 01.09
dann sieht die sortierung so aus
01.09
29.08
30.08
31.08
weil, nehme ich an die 01 kleiner ist als die 29
versteh nur nicht, wieso es manuell klappt und mer makro nicht
gruß
morpheus
das hab ich ganz übersehen.
Hab das Makro per Hand mal ausgebesser gehabt weil ich in Spalte S das Datum mal neu reinkopiert hatte.
Ich versteh das eben nicht.
Die Daten bekomme ich zugesant.
Das Datum steht wiefolgt in der Spalte:
'01.09.2007 00:00:00
Meine erste Vermutung war, das der " ' " am anfang vom Datum das sortieren verhindert.
Wenn ich allerdings mit einem String mit das 1 Zeichen dieses Datums auslesen lasse, wird mir die "0" und nicht der " ' " als erstes Zeichen ausgegeben.
Vor allem: wenn ich per Hand sortieren, dann werden mit die Daten richtig sortiert.
Sobald ich das selbst aufgezeichnete Makro nehme, sortiert mir Excel nach den ersten 2 Zeichen.
ich hab die Daten vom 29.08, 30.08, 31.08 und 01.09
dann sieht die sortierung so aus
01.09
29.08
30.08
31.08
weil, nehme ich an die 01 kleiner ist als die 29
versteh nur nicht, wieso es manuell klappt und mer makro nicht
gruß
morpheus
Antwort 3 von DukeNT
Hi morpheus,
kann es sein das die Zellen als Text Formatiert sind?
Änder das mal auf Datum und schau ob es dann funktioniert.
Aber warum das per Hand sortieren geht verstehe ich auch nicht.
Gruß Niels
Zitat:
'01.09.2007 00:00:00
'01.09.2007 00:00:00
kann es sein das die Zellen als Text Formatiert sind?
Änder das mal auf Datum und schau ob es dann funktioniert.
Aber warum das per Hand sortieren geht verstehe ich auch nicht.
Gruß Niels
Antwort 4 von morpheus__85
Hallo Niels,
das ist eben das, was ich nicht verstehen...
hab es mit dem formatieren schon versucht.
Klappt leider nicht.
Wollte eben auch schon in allen Zeilen das ' entfernen lassen aber er erkennt das Zeichen nicht somit kann ich es auch nicht per Makro entfernen lassen.
In einer anderen Exceldatei die genauso aufgebaut ist allerding als Datum: 10.10.2007 ganz normal ist funktioniert das Makro einwanfrei.
Trotzdem Danke für deine Hilfe und dir ein schönes Wochenende.
Gruß
morpheus
das ist eben das, was ich nicht verstehen...
hab es mit dem formatieren schon versucht.
Klappt leider nicht.
Wollte eben auch schon in allen Zeilen das ' entfernen lassen aber er erkennt das Zeichen nicht somit kann ich es auch nicht per Makro entfernen lassen.
In einer anderen Exceldatei die genauso aufgebaut ist allerding als Datum: 10.10.2007 ganz normal ist funktioniert das Makro einwanfrei.
Trotzdem Danke für deine Hilfe und dir ein schönes Wochenende.
Gruß
morpheus
Antwort 5 von morpheus__85
noch so als Anmerkung
wenn ich ein Datum anklicke,
dann rechtsklick
Zellen formatieren
und dann mal so die verschiedenen Kategorien durchprobiere kann ich ja im Beispiel sehen, wie sich die Zelle verändert.
Egal ob ich auf Standarf, Zahl, Währung oder Zeit klicke es bleibt immer das 01.09.2007 00:00:00 erhalten und ändern sich nicht die Bohne.
gruß
morpheus
wenn ich ein Datum anklicke,
dann rechtsklick
Zellen formatieren
und dann mal so die verschiedenen Kategorien durchprobiere kann ich ja im Beispiel sehen, wie sich die Zelle verändert.
Egal ob ich auf Standarf, Zahl, Währung oder Zeit klicke es bleibt immer das 01.09.2007 00:00:00 erhalten und ändern sich nicht die Bohne.
gruß
morpheus
Antwort 6 von morpheus__85
guten morgen,
ich glaub ich weis jetzt an was es liegen könnte.
und zwar.
wenn ich das Excelblatt per Hand sortiere, kommt folgende Meldung.
Der folgende Sortierschlüssel enthält Zahlen, die als Text formatiert wurden Spalte C (also der Datumsspalte).
Wenn ich da dann
Alles was wie eine Zahl aussieht, als Zahl sortieren.
auswähle funktioniert das.
Bei meinem Makro kommt ja allerdings diese Meldung nicht.
Könnte es dann daran liegen?
Das Problem ist.
Habe jetzt auch shcon mal versucht, die Datumsspalte, bevor ich das Makro ausführe auf "Zahl" zu formatieren allerdings tut sich da gar nicht.
Das Format bleibt immer 01.09.2007 00:00:00
gruß
morpheus
ich glaub ich weis jetzt an was es liegen könnte.
und zwar.
wenn ich das Excelblatt per Hand sortiere, kommt folgende Meldung.
Der folgende Sortierschlüssel enthält Zahlen, die als Text formatiert wurden Spalte C (also der Datumsspalte).
Wenn ich da dann
Alles was wie eine Zahl aussieht, als Zahl sortieren.
auswähle funktioniert das.
Bei meinem Makro kommt ja allerdings diese Meldung nicht.
Könnte es dann daran liegen?
Das Problem ist.
Habe jetzt auch shcon mal versucht, die Datumsspalte, bevor ich das Makro ausführe auf "Zahl" zu formatieren allerdings tut sich da gar nicht.
Das Format bleibt immer 01.09.2007 00:00:00
gruß
morpheus