makro sortieren über mehrere register
#11
Hi

Zitat:Dadurch, dass ich die Tabellen in den Registern als Tabelle formatiert habe, hatte ich gehofft um die Angabe des Sortierbereiches herumzukommen
dieser Satz verwirrt mich etwas, denn was hat das Formatieren einer Tabelle mit der Angabe des Sortierbereichs zu tun.  m.E. ist das Irrelevant

Anbei noch mal ein Code mit GoSub wo man ganz gezielt nur die drei Tabellen sortiert die mit Set Sht definiert wurden. Da musst du natürlich die korrekten Tabellen Namen (Reiternamen) angeben. Ich habe versucht die ganze Spalte als Sort Bereich anzugeben. Das hat aber den Nachteil das die Überschriftszxeile mit formatiert wird. Der Bereich kann ja auf 100.000 bis  Million Zeilen eingestellt werden.  z.Zeit 1.000.000  Die Adresse Adr1 bis Adr3 sind die Spalten mit der 1. Zeile, die formatiert werden sollen. Ich weiss nicht wie weit die Überschrift geht. 

Zum Schutz vor Datenverlust oder Sortierfehler bitte zuerst das makro in einer Test Datei ausprobieren. Da siehtst du sofort das Ergebnis und kannst alle Adressen in Ruhe anpassen. Ich arbeite waehrend der Entwicklungsphase nie mit der Originaldatei !!  (persönliche Erfahrungen) 

Schau mal ob es so funktioniert.


Code:
Const Bereich = "C3:J1040000"  'letzte Zelle = 1048575
Const Adr1 = "C3"
Const Adr2 = "D3"
Const Adr3 = "E3"


Sub Bereich_sortieren()
Dim Sht As Worksheet
   
Set Sht = Worksheets("%19"):  GoSub sort   'Bitte Name der Tabellen einsetzen
Set Sht = Worksheets("%20"):  GoSub sort
Set Sht = Worksheets("%21"):  GoSub sort
Exit Sub

sort:  'in Sheet Bereich sortieren
   Worksheets(Sht).Range(Bereich).sort _
       Key1:=Range(Adr1), Order1:=xlAscending, Key2:=Range(Adr2), Order2:=xlAscending, _
       Key3:=Range(Adr3), Order3:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:= _
       False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _
       xlSortNormal, DataOption3:=xlSortNormal
  Return
End Sub
Top
#12
Nachtrag

das Makro ist die Sortier Routine aus Excel 2003.  Ich finde sie einfacher und unkomplizierter zu programmieren.
Es ist aber immer erforderlich Excel zu sagen in welcher Tabelle sortiert werden soll, und welcher Bereich sortiert wird. Die neuen Tabellen haben ja über 1 Million Zeilen. Der Endbereich sollte beim festlegen kein Problem sein 

mfg  Gast 123
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste