Supportnet Computer
Planet of Tech

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,
Zitat:
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

Antwort 3 von DukeNT

Hi morpheus,
Zitat:
'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

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

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 möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: