ich wage mich nun auch an Excel heran und versuche meine Arbeitsabläufe etwas zu optimieren. Hierbei stoße ich aber auf ein Problem.
Ich erhalte jeden Tag zwei Mal eine Liste in der alle möglichen Daten aufgeführt sind. Diese ist formellos. Ich blende die uninteressanten Spalten entsprechend aus und sortiere mir dann die fertige Tabelle nach vier verschiedenen Kriterien. Das funktioniert alles auch, wenn ich diese Schritte als Makro aufgezeichnet verabeiten lasse. Mein Problem an dieser Sache ist aber, dass die Datei, die ich als nächstes erhalte und auch mit diesem Makro bearbeiten lassen möchte, die Sortierung mitten drin abbricht. Mir fällt auf, dass das mit dem "Namen der Datei" zu tun hat, der im Makro steht. An diesen Zeilen scheitert jede Sortierung. Wenn ich die Einträge aus dem Makro entferne werden aber die Spalten nicht weiter sortiert, wie ich sie benötige. Somit ist das ganze makro für mich nur auf DIESE EINE DATEI anwendbar und somit unbrauchbar. Was kann ich ändern, dass das Makro sich nicht immer auf diese Datei berufen will, sondern auf alle Dateien anwendbar ist?
Viele Grüße und danke fürs Lesen und Antworten
Thomas
Ich kopier das mal hier rein:
ActiveWorkbook.Worksheets("AE28012015024026.DEGIORGIO.2801").Sort.SortFields. _
Clear
ActiveWorkbook.Worksheets("AE28012015024026.DEGIORGIO.2801").Sort.SortFields. _
Add Key:=Range("B2:B1224"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("AE28012015024026.DEGIORGIO.2801").Sort.SortFields. _
Add Key:=Range("H2:H1224"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("AE28012015024026.DEGIORGIO.2801").Sort.SortFields. _
Add Key:=Range("Q2:Q1224"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("AE28012015024026.DEGIORGIO.2801").Sort.SortFields. _
Add Key:=Range("N2:N1224"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("AE28012015024026.DEGIORGIO.2801").Sort
.SetRange Range("A1:Z1224")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply