Hallo Bri,
der folgende Code (zum Abfangen der Return-Taste) gehört in das VBA-Projekt der Tabelle mit den Kundendaten:
Private Sub Worksheet_Change(ByVal Target As Range)
'Beim Drücken von Return das Makro sortieren aufrufen
Application.OnKey "{ENTER}", "sortieren" 'Enter-Taste auf Numlock gedrückt
Application.OnKey "~", "sortieren" 'Return-Taste gedrückt
End Sub
Achtung: Damit der Aufruf des Makros funktioniert, muss vor dem Drücken der RETURN-Taste eine Eingabe in die aktuelle Zelle erfolgen.
Das folgende Makro zum Sortieren gehört in ein normales Modul deiner Arbeitsmappe:
Sub sortieren()
Dim lngLZeile As Long
Dim lngLSpalte As Long
With ActiveSheet
'letzte Zeile und Spalte ermitteln
lngLZeile = .Cells(Rows.Count, 6).End(xlUp).Row
lngLSpalte = .Cells(4, Columns.Count).End(xlToLeft).Column
'Daten sortieren; Sortierung nach Spalte F
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range(.Cells(4, 6), .Cells(lngLZeile, 6)), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
With .Sort
.SetRange Range(Cells(4, 1), Cells(lngLZeile, lngLSpalte))
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
'benutzerdefinierte Belegung wieder rückgänging machen
Application.OnKey "{ENTER}", ""
Application.OnKey "~", ""
End Sub
Achtung: Benennst du das Makro um, muss auch der Name im Aufruf im ersten Makro geändert werden.
Zum Schluss noch ein Warnung: Das Abfangen des Tastendrucks ist tückisch! Ich würde das Makro per Hand starten.
Gruß
M.O.