Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

aufgenommenes Makro funktioniert nicht

aufgenommenes Makro funktioniert nicht
Isolde
Hallo Leute,
ich weis mir echt nicht mehr zu helfen und bräuchte DRINGEND ein paar Tipps!
Ich habe eine Tabelle mit vielen Spalten. 3 davon sollen aufsteigend sortiert werden. Wichtig ist: dass natürlich die restlichen Spalten dann Zeilenweise mit sortiert werden, da die Daten Zeile für Zeile jeweils zusammen gehören.
Die 3 Sortierspalten:
Spalte M: Datum (im Datumsformat)
Spalte N: Startzeit (Uhrzeitformat)
Spalte O: errechnet die Schichten in Abhängigkeit von der Starzeit, so dass dann hinter der jeweiligen Uhrzeit in der Spalte O extra steht: 1 Frühschicht, 2 Spätschicht oder 3 Nachschicht (Die Spalte O ist als Standard-Format formatiert).
Die Zahlen 1 vor dem Wort Frühschicht und entspr. 2 vor Spät- und 3 vor Nachtschicht habe ich immer davor stehen, weil ein Kumpel meinte: dass es sich dann einfacher sortieren lässt.
So bin ich vorgegangen:
Erst im Menü auf Daten, dann sortieren, dann angeklickt: „Tabelle enthält Überschrift“ und als erstes Kriterium aufsteigend nach Datum sortieren, als zweites aufsteigend nach Schicht und als drittes Kriterium aufsteigend nach Uhrzeit.
Dann auf OK geklickt und angekreuzt: dass alles das was wie eine Zahl aussieht als Zahl sortiert werden soll.
Es funktionierte wunderbar…alles richtig sortiert!!!
Wenn ich jetzt aber (um das Makro zu testen) ein paar Uhrzeiten ändere (was dann auch die Schicht ändern kann) und nun das aufgenommene Makro ausführen möchte, damit es neu sortiert, dann kommt die Fehlermeldung:
„Laufzeitfehler 1004: Für diese Aktion müssen alle verbundenen Zellen dieselbe Größe haben.“

Das verstehe ich nicht: wenn ich das Sortieren wie eben beschrieben: manuell mache: klappt es doch auch?
Ich habe mir auch schon die VBA-Hilfe für Sort durchgelesen: das bringt mich aber hie nicht weiter.
Hier der Makrorekorder – Code:
Range("A1:U714").Sort Key1:=Range("M4"), Order1:=xlAscending, Key2:=Range _
("O4"), Order2:=xlAscending, Key3:=Range("N4"), Order3:=xlAscending, _
Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom, DataOption1:=xlSortTextAsNumbers, DataOption2:=xlSortNormal _
, DataOption3:=xlSortTextAsNumbers

BITTE dringend um Hilfe!!!
AW: aufgenommenes Makro funktioniert nicht
21.07.2010 10:36:23
Yusuf
Hallo,
zu deinem vorgehen:
Welche Zellen hast du, bevor du "Erst im Menü auf Daten, ..." markiert.
Denn wenn du den Markiervorgang nicht mit dem Makrorekorder aufgezeichnet hast wird das Makro immer das sortieren wollen, was gerade markiert ist.
Poste doch bitte auch mal das aufgezeichnete Makro.
Gruß
Yusuf
AW: aufgenommenes Makro funktioniert nicht
21.07.2010 10:58:13
Isolde
Hallo Yusuf,
das aufgezeichnete Makro hab ich doch gepostet? Es stand doch im untereb Teil meines Textes?
AW: aufgenommenes Makro funktioniert nicht
21.07.2010 11:06:10
Yusuf
Stimmt,
ich bin etwas blind gewesen.
Ich vermute, dass der verbunden Zellbereich in der 1. - 3. Zeile ist.
Habe den zu sortierenden Bereich angepasst, so dass ab der 4. Zeile sortiert wird.
Verbunden Zellen sollte man versuchen zu meiden.
Versuch es mal bitte hiermit. ungetestet:
Range("A4:U714").Sort Key1:=Range("M4"), Order1:=xlAscending, Key2:=Range("O4"), Order2:=xlAscending, Key3:=Range("N4"), Order3:=xlAscending, _
Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortTextAsNumbers, DataOption2:=xlSortNormal _
, DataOption3:=xlSortTextAsNumbers
Gruß
Yusuf
Anzeige
AW: aufgenommenes Makro funktioniert nicht
21.07.2010 11:46:37
Isolde
Danke,
werde es gleich testen! Übrigens, sorry, dass ich meine Frage zwei mal hier gepostet habe!!!
Hab das gar nicht bemerkt! Weis nicht wie das passieren konnte!
AW: aufgenommenes Makro funktioniert nicht
21.07.2010 12:11:21
Isolde
Hi,
Bei deinem Makro mekkert er nicht rum, aber: bei der Datumssortierung stimmt etwas nicht
(das gleiche Problem hatte ich auch schon!). Nach dem mehrmals 14.01.10 mit seinen Zeiten und Schichten müsste er den Block für den 15.01.10 machen. (die Sortierung Schichten und Uhrzeit für diverse Datumsblöcke, z. B. 5* 14.01.10 klappt)
er arbeitet aber das Datum nicht chronologisch ab, d.h. nach dem Block mit dem 01.02.10 kommt der Block mit dem 01.03.10, es müsste aber der 02.02.10 sein!
Das hängt damit zusammen das er das Datum zwar sortiert, aber er sich zuerst immer nur die erste Zahl im Datum anschaut und dann zwangsläufig falsch sortiert!!!
Anzeige
Datei?
21.07.2010 12:21:56
Klaus
Hallo Isolde,
Ich tippe mal, deine Datumswerte sind amerikanisch formatiert - MM.TT.JJJJ
Kannst du die Datei mal hochladen? Wenn der Inhalt sensibel ist, lösche einfach alles ausser der Datumsspalte.
Grüße,
Klaus M.vdT.
AW: Datei?
21.07.2010 14:11:04
Isolde
Du hast höchstwahrscheinlich RECHT!
...ich lade gleich hoch
wird etwas später
21.07.2010 14:19:38
Isolde
die Datei lässt sich grad nicht hoch laden,
ich muss erst mal weg, versuch es dann noch mal, bis später!
UPLOAD
22.07.2010 10:00:32
Isolde
Hallo, sorry: dass ich erst jetzt zurück schreiben kann!!!
es liegt wie gesagt am Format des Datums.
Ich habe zwar „auf Deutsch“ das Datumsformat eingestellt, dennoch verstehe ich nicht, warum er es nicht macht.
Excel fordert eine vierstellige Jahreszahl. Ich könnte die Zellen einzeln markieren oder manuell „runterziehen“ und dies umstellen.
Dann würde es auch mit dem Sortieren klappen.
Problem: Ich möchte, dass später alles automatisch funktioniert, da sich die Daten erweitern können.
Wenn ich nun die Spalte anklicke und das Datumsformat auf Benutzerdefiniert umstelle: „TT.MM.JJJJ“, dann bleibt Excel bei dem alten Format und ändert es erst, wenn ich in jede Zelle einzeln per Doppelklick rein klicke und ENTER drücke.
Ich möchte, das in den Zellen das Format: 14.01.10 steht und oben in der Bearbeitungsleiste bzw. Zeile müsst es dann aber 14.01.2010 anzeigen, damit es auch mit dem Sortieren richtig klappt.
WICHTIG: Ich habe die Tabelle als Muster bei Sendspace hoch geladen !!!!
Die Datei war zu groß, so dass ich sie hier nicht hoch laden konnte!!!
Bitte die Excel – Datei unter folgendem Link downloaden:
http://www.sendspace.com/file/9v1am4

Bitte um Lösungsvorschlag!!!
Anzeige
AW: aufgenommenes Makro funktioniert nicht
21.07.2010 12:55:42
Yusuf
Hallo,
eventuell so:
Columns("M:M").NumberFormat = "General"
Range("A4:U714").Sort Key1:=Range("M4"), Order1:=xlAscending, Key2:=Range("O4"), Order2:=xlAscending, Key3:=Range("N4"), Order3:=xlAscending, _
Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortTextAsNumbers, DataOption2:=xlSortNormal _
, DataOption3:=xlSortTextAsNumbers
Columns("M:M").NumberFormat = "Dein Datumsformat z.B.: dd/mm/yy"
Die Doppelposts kommen oefter vor, woran das liegt kann ich jedoch nicht sagen.
Gruß
Yusuf
AW: aufgenommenes Makro funktioniert nicht
21.07.2010 12:58:25
Yusuf
Bin ab 13 Uhr nicht mehr im Forum und kann ab morgen wieder reingucken.
Gruß
Yusuf
Anzeige
Upload
22.07.2010 10:15:59
Isolde
Hallo, sorry: dass ich erst jetzt zurück schreiben kann!!!
es liegt wie gesagt am Format des Datums.
Ich habe zwar „auf Deutsch“ das Datumsformat eingestellt, dennoch verstehe ich nicht, warum er es nicht macht.
Excel fordert eine vierstellige Jahreszahl. Ich könnte die Zellen einzeln markieren oder manuell „runterziehen“ und dies umstellen.
Dann würde es auch mit dem Sortieren klappen.
Problem: Ich möchte, dass später alles automatisch funktioniert, da sich die Daten erweitern können.
Wenn ich nun die Spalte anklicke und das Datumsformat auf Benutzerdefiniert umstelle: „TT.MM.JJJJ“, dann bleibt Excel bei dem alten Format und ändert es erst, wenn ich in jede Zelle einzeln per Doppelklick rein klicke und ENTER drücke.
Ich möchte, das in den Zellen das Format: 14.01.10 steht und oben in der Bearbeitungsleiste bzw. Zeile müsst es dann aber 14.01.2010 anzeigen, damit es auch mit dem Sortieren richtig klappt.
WICHTIG: Ich habe die Tabelle als Muster bei Sendspace hoch geladen !!!!
Die Datei war zu groß, so dass ich sie hier nicht hoch laden konnte!!!
Bitte die Excel – Datei unter folgendem Link downloaden:
http://www.sendspace.com/file/9v1am4

Bitte um Lösungsvorschlag!!!
Anzeige
AW: Upload
22.07.2010 12:29:38
Klaus
Hallo Isolde,
vielleicht machen andere es, aber ich lade nicht bei anonymen Filehostern.
Aber Yusuf's Vorschlag müsste eigentlich klappen, um das Datumsformat umzustellen.
Grüße,
Klaus M.vdT.
AW: Upload
22.07.2010 13:57:34
Isolde
Hallo,
habe es nun hinbekommen, dass die Datei verkleinert wird und ich sie hier hoch laden kann.
Sie ist richtig über Daten..sortieren sortiert. Aber wenn man eine Uhrzeit ändert, sortiert das Makro nicht richtig.
Leider ist es auch bei Yusuf - Makro so.
Hier ist der Forums-Link: https://www.herber.de/bbs/user/70702.xls
Anzeige
AW: Tabelle
22.07.2010 14:01:20
Isolde
naja, zur Excel-Tabelle bitte nur noch zur Übersichtlichkeit den Auto-Filter aktivieren (aber das wisst ihr ja selbst)
AW: Tabelle
22.07.2010 15:21:51
Klaus
Hallo Susann,
deine Datumswerte sind keine Datumswerte (zweistellige Jahreszahl).
Markiere mal alle Datumswerte, clicke auf das kleine Ausrufezeichen im Viereck und wähle (XX in 20XX umwandeln). Danach sollten auch alle Makros laufen wie gewollt.
Grüße,
Klaus M.vdT.
AW:Sortierung
22.07.2010 17:16:21
Isolde
Hallo,
vielen Dank für den Hinweis. Das Problem ist nur dabei, dass später alles automatisch sein soll.
Ich müsste also mit dem Makrorekorder aufnehmen, wie die Datumsspalte insgesamt markiert wird und das richtige Format eingestellt wird.
Soll heißen, wenn ich jetzt die Daten markiere und es umstelle dann sind nur diese Daten im richtigen Format.
Wenn die Liste erweitert wird, dann wären die neu dazu gekommenen Daten wieder im falschen Format, so dass es dann nicht automatisch richtig sortieren kann!
Gibt es dafür eine Lösung?
Liebe Grüße
Anzeige
AW: AW:Sortierung
23.07.2010 09:18:26
Yusuf
Hallo,
konnte gerstern leider nicht reingucken.
Dieses "gelbe Asurufezeichen" habe ich bei meiner Excelversion 9 nicht, deshalb kann ich leider dazu nichts sagen.
Tut mir leid das ich da nicht weiterhelfen kann.
Gruß
Yusuf
AW: AW:Sortierung
23.07.2010 09:24:19
Isolde
Hallo Yusuf,
trotzdem vielen Dank für Deine Antwort.
Wenn sich dieses Formatierungsding (was automatisierbar sein soll) hier nicht klären lässt, werde ich
vielleicht noch mal dazu einen gesonderten Beitrag posten.
Liebe Grüße
Offen
23.07.2010 12:49:11
Yusuf
Ich stell es mal wieder auf "offen" dann ist es ueber den link "Offene Fragen" zu finden und dein anliegen kann eventuell geklaert werden.
Gruß
Yusuf
Anzeige
AW: AW:Sortierung
25.07.2010 13:21:14
Tino
Hallo,
versuch mal so und lass die Überschrift bei dem Bereich aus und sortiere ohne Überschrift.
Wenn die Sortierung von einer anderen Tabelle gestartet werden soll,
müsstest Du die Tabelle noch anpassen.
Dann mach aus ActiveSheet dies Sheets("Tabelle2")
Sub sortier3()
With ActiveSheet
.Range("A4:U" & .Rows.Count).Sort _
Key1:=.Range("M4"), Order1:=xlAscending, _
Key2:=.Range("O4"), Order2:=xlAscending, _
Key3:=.Range("N4"), Order3:=xlAscending, _
Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom, DataOption1:=xlSortTextAsNumbers, _
DataOption2:=xlSortNormal, DataOption3:=xlSortTextAsNumbers
End With
End Sub
Gruß Tino
Anzeige
AW: AW:Sortierung
27.07.2010 13:24:09
Isolde
Hallo Tino,
danke für Dein Makro.
Da ich mir nicht anders zu helfen weis , habe ich die Problematik noch mal neu formuliert und soeben unter dem Thema "Formatierung automatisch" einen neuen Beitrag gepostet.
Vielleicht kannst du Dir das mal kurz anschauen, dann verstehst Du sicher auch weshalb Dein Makro zwar richtig ist, aber dennoch nicht funktionieren kann.
Liebe Grüße

325 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige