Pat fragt sich, ob es eine Möglichkeit gibt, jedes Mal automatisch zu sortieren, wenn sie einem Arbeitsblatt neue Daten hinzufügt. Pat findet es zum Beispiel großartig, wenn sie einen neuen Namen zu einer Liste von Namen hinzufügt, werden die Namen automatisch so sortiert, dass sie immer in Ordnung sind.

Dies kann nur mithilfe eines Makros erreicht werden, das ausgelöst wird, wenn etwas Neues in das Arbeitsblatt eingegeben wird. Sie können dem Code beispielsweise ein Makro für ein Arbeitsblatt hinzufügen, das ausgelöst wird, wenn sich etwas im Arbeitsblatt ändert. (Sie können das Codefenster anzeigen, indem Sie mit der rechten Maustaste auf die Registerkarte Arbeitsblatt klicken und im daraufhin angezeigten Kontextmenü die Option Code anzeigen auswählen.) Das folgende Beispiel zeigt ein solches einfaches Makro:

Private Sub Worksheet_Change(ByVal Target As Range)

On Error Resume Next     Range("A1").Sort Key1:=Range("A2"), _       Order1:=xlAscending, Header:=xlYes, _       OrderCustom:=1, MatchCase:=False, _       Orientation:=xlTopToBottom End Sub

Das Makro geht davon aus, dass Sie die Daten in Spalte A sortieren möchten und dass sich in Zelle A1 eine Kopfzeile befindet. Wenn sich die Namen in einer anderen Spalte befinden, ändern Sie einfach den Zellen-A2-Verweis in eine andere Spalte, z. B. B2, C2 usw.

Natürlich kann das Sortieren zu jeder Zeit, zu der Änderungen vorgenommen werden, lästig sein.

Möglicherweise möchten Sie die Sortierung einschränken, damit sie nur dann auftritt, wenn Änderungen an einem bestimmten Teil Ihrer Daten vorgenommen werden. Die folgende Version des Makros sortiert die Daten nur, wenn eine Änderung in Spalte A vorgenommen wird.

Private Sub Worksheet_Change(ByVal Target As Range)

On Error Resume Next     If Not Intersect(Target, Range("A:A")) Is Nothing Then         Range("A1").Sort Key1:=Range("A2"), _           Order1:=xlAscending, Header:=xlYes, _           OrderCustom:=1, MatchCase:=False, _           Orientation:=xlTopToBottom     End If End Sub

Die Verwendung eines Makros zum automatischen Sortieren Ihrer Daten hat einige Nachteile. Erstens, da Sie zum Sortieren ein Makro verwenden, ist die Operation im Wesentlichen „endgültig“. Mit anderen Worten, nach dem Sortieren können Sie den Vorgang nicht mit Strg + Z rückgängig machen.

Ein zweiter Nachteil ist, dass die Dateneingabe etwas beunruhigend sein kann.

Wenn Sie beispielsweise eines der oben genannten Makros verwenden und damit beginnen, Namen in das Arbeitsblatt einzufügen, werden diese sortiert, sobald Sie die Angaben in Spalte A abgeschlossen haben. Wenn Ihre Daten fünf Spalten verwenden und Sie Ihren Eintrag in Zeile 15 beginnen Sobald Sie den Namen in Spalte A eingegeben haben (und bevor Sie Daten in die Spalten B bis E eingeben), werden Ihre Daten in der richtigen Reihenfolge sortiert. Dies bedeutet, dass Sie herausfinden müssen, wo es in der Sortierung verschoben wurde, die richtige Zelle in Spalte B auswählen und dann den Rest der Daten für den Datensatz eingeben müssen. Um dies zu umgehen, müssen Sie Ihre Daten natürlich in einer unnatürlichen Reihenfolge hinzufügen. Stellen Sie einfach sicher, dass der Name in Spalte A das allerletzte ist, was Sie für den Datensatz eingeben.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (9005) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: