mein Beitrag zu dem Thema ist leider mittlerweile schon ins Archiv gerutscht, bezieht sich hierauf:
https://www.herber.de/forum/archiv/1512to1516/1513133_VBA_fuer_automatisches_sortieren.html
Das Makro welches hier freundlicherweise für mich generiert wurde funktioniert auch einwandfrei, habe lediglich noch eine letzte Frage dazu:
Es ist jetzt so, das nach Eintragen eines Datums in Spalte F die Termine in Spalte F aufsteigend sortiert werden. Das Makro startet nachdem das Datum in Spalte F eingetragen wurde. Dies sollte auch so sein. Allerdings springt Excel nach der Sortierung bzw. nach dem Eintragen immer an die erste Zelle des Auswahlbereichs. Dies ist natürlich bei einer längeren Liste mit der Zeit etwas nervig und daher suche ich noch nach einem Befehl für das VBA der bewirkt, das nach Eintragen eines Termins bzw. Datums in Spalte F die Sortierung ja automatisch ausgeführt wird, wie bis jetzt der Fall. Jedoch das Excel dann auch die aktive Zelle beibehält, also nicht zur ersten des Auswahlbereichs springt, was in meinem Fall die Zelle A12 ist.
Das VBA sieht so aus:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("F12:F10000")) Is Nothing Then
Range("A11:H10000").Select
Selection.Sort Key1:=Range("A11"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
Range("A12").Select
End If
End Sub
Ich habe bei Key1 nun F11 statt A11 drin, weil nach Spalte F sortiert werden soll.
Ich hatte dann versuchsweise den letzten Befehl:
Range("A12").Select
raus gelöscht, aber das hat mein Problem auch nicht gelöst.
Wie müsste der Befehl denn lauten, damit weiterhin die aktive Zelle ausgewählt bleibt (also z.B. die Zelle in Spalte F, in der gerade ein Datum eingetragen wurde und daraufhin sortiert wurde).
Die Dummy Datei dazu gibts hier:
https://www.herber.de/bbs/user/108142.xlsm
Ich hoffe ich habe mich nicht allzu kompliziert ausgedrückt haha :D
Vielen Dank schon mal für jede Hilfe.