Mehr Info's zur Frage!
28.06.2005 09:53:12
Kai
Sorry, dachte die Angaben würden reichen. Also jetzt etwas ausführlicher ...
Ich erstelle Turnierpläne (www.kadmo.de) für Fußball etc. Es werden die Ergebnisse in einer Tabelle zusammengefaßt und sortiert (Punkte, Diff., gesch. Tore) Die Tabelle ist z.B. für die erste Gruppe im Bereich CA33:CF37 (siehe unten) Dann wird nach CB33, CF33 und CC33 sortiert. (in dem Plan gibt es vier Gruppen) Wenn ich jetzt aber im Kopf z.B. zwischen Zeile 5 und 6 noch 2 Zeilen einfügen möchte, verschiebt sich ja der Bereich zum sortieren um 2 Zeilen nach unten. (Neuer Bereich wäre dann CA35:CF39) Die Sortierung funktioniert dann nicht mehr. Bisher mußte ich dann das Makro "von Hand" ändern was sehr aufwendig ist. Daher meine Frage ob es möglich ist, dass sich das Makro automatisch anpaßt.
Ich hoffe jetzt ist mein Problem deutlicher geworden.
Gruß Kai
Private Sub Sortiere()
' GrpA Makro
' Makro am 02.06.2005 von Kadmo aufgezeichnet
Range("CA33:CF37").Select
Selection.Sort Key1:=Range("CB33"), Order1:=xlDescending, Key2:=Range( _
"CF33"), Order2:=xlDescending, Key3:=Range("CC33"), Order3:=xlDescending _
, Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom
Range("CH33:CM37").Select
Selection.Sort Key1:=Range("CI33"), Order1:=xlDescending, Key2:=Range( _
"CM33"), Order2:=xlDescending, Key3:=Range("CJ33"), Order3:=xlDescending _
, Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom
Range("CA41:CF45").Select
Selection.Sort Key1:=Range("CB41"), Order1:=xlDescending, Key2:=Range( _
"CF41"), Order2:=xlDescending, Key3:=Range("CC41"), Order3:=xlDescending _
, Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom
Range("CH41:CM45").Select
Selection.Sort Key1:=Range("CI41"), Order1:=xlDescending, Key2:=Range( _
"CM41"), Order2:=xlDescending, Key3:=Range("CJ41"), Order3:=xlDescending _
, Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom
Range("AB88").Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Fragen, ob man in Spalte AZ ist
If Target.Column = 52 And Target.Row > 31 And Target.Row < 79 Then
'Sortierung aufrufen
Sortiere
'Nächste Zelle in AW aktivieren
Cells(Target.Row, Target.Column).Offset(1, -3).Select
End If
End Sub