Die benutzerdefinierte Sortierung in Excel ist eine sehr nützliche Funktion. In diesem Artikel wird erläutert, wie Sie die benutzerdefinierte Sortierung in einem Bereich mithilfe von Excel VBA automatisch aktualisieren.
Wenn Sie die benutzerdefinierte Sortierung verwenden, werden Sie feststellen, dass dies eine erstaunliche Funktion in Excel ist. Wenn Sie diese Funktion jedoch häufig verwenden, tritt möglicherweise auch ein Problem auf. Sie sortieren in einem Bereich mit bestimmten Daten und Informationen. Wenn Sie dem Bereich zusätzliche Daten und Informationen hinzufügen, ändert sich die Reihenfolge im Bereich nicht automatisch. Das Bild unten zeigt ein Beispiel für einen solchen Zustand.
Wenn Sie dem Bereich einen neuen Datensatz hinzufügen, wird der Rang nicht automatisch geändert. Wenn Sie diesen größeren Bereich dennoch mit neuen Datensätzen nach denselben Kriterien sortieren möchten, müssen Sie den Vorgang der benutzerdefinierten Sortierung erneut ausführen. Sie können sehen, dass dies sehr problematisch ist, insbesondere wenn Sie die Daten und Informationen im Arbeitsblatt ständig aktualisieren müssen. Jedes Mal, wenn Sie dem Bereich neue Informationen hinzufügen, müssen Sie erneut sortieren. Um dieses Problem zu lösen und Ihre Aufgabe schnell zu erledigen, können Sie diesen Artikel weiter lesen.
Makro aufzeichnen
Wenn die Kriterien für die benutzerdefinierte Sortierung sehr komplex sind, fällt es Ihnen schwer, die VBA-Codes direkt zu schreiben. Somit können Sie jetzt zuerst ein Makro aufzeichnen. Die Codes in diesem Makro können auch in anderen Makros verwendet werden. Das Aufzeichnen von Codes ist sehr einfach.
- Bevor Sie ein Makro aufzeichnen, müssen Sie die Registerkarte VBA in die Multifunktionsleiste einfügen. Klicken Sie hier mit der rechten Maustaste auf eine Registerkarte im Menüband.
- Wählen Sie dann im Menü die Option "Farbband anpassen".
- Aktivieren Sie nun im Fenster "Excel-Optionen" die Option "Entwickler" in der Liste der "Hauptregisterkarten".
- Klicken Sie danach im Fenster auf "OK". Daher haben Sie die Registerkarte in der Multifunktionsleiste hinzugefügt.
- Nun kehren Sie zum Arbeitsblatt zurück. Klicken Sie auf die Registerkarte "Entwickler", die Sie hinzugefügt haben.
- Klicken Sie anschließend in der Symbolleiste auf die Schaltfläche „Makro aufnehmen“. Daher wird das Fenster „Makro aufzeichnen“ angezeigt.
Andererseits können Sie auch auf die kleine Schaltfläche unten im Arbeitsblatt klicken, um die obigen 6 Schritte zu ersetzen.
- Geben Sie nun im Fenster „Makro aufnehmen“ den Namen in das erste Textfeld ein. Weisen Sie bei Bedarf eine Tastenkombination zu. Fügen Sie dann die Beschreibung entsprechend Ihren Anforderungen hinzu.
- Klicken Sie anschließend auf "OK". Somit beginnt das Makro, jede von Ihnen ausgeführte Operation aufzuzeichnen.
- Wählen Sie den Bereich aus, den Sie im Arbeitsblatt sortieren möchten.
- Klicken Sie auf die Registerkarte "Home".
- Klicken Sie dann in der Multifunktionsleiste auf die Schaltfläche „Sortieren & Filtern“.
- Wählen Sie in der Dropdown-Liste die Option "Benutzerdefinierte Sortierung".
- Legen Sie im Fenster „Sortieren“ die Kriterien entsprechend Ihren Anforderungen fest. Alle Aktionen werden im Makro aufgezeichnet.
Führen Sie beim Aufnehmen von Makros keine zusätzlichen Schritte aus. Andernfalls werden diese Schritte ebenfalls aufgezeichnet. Und dies wird im folgenden Teil Probleme verursachen.
- Nachdem Sie die Einstellung im Fenster "Sortieren" abgeschlossen haben, klicken Sie auf "OK", um die Einstellungen zu speichern.
- Klicken Sie nun erneut in der Multifunktionsleiste auf die Registerkarte „Entwickler“.
- Klicken Sie anschließend auf die Schaltfläche „Aufnahme beenden“. Wenn sich das Arbeitsblatt im Zustand der Aufnahmemakros befindet, ändert sich die Schaltfläche in „Aufnahme beenden“.
Sie können auch auf die Schaltfläche unten im Arbeitsblatt klicken, um die Aufzeichnung des Makros zu beenden. Damit haben Sie die Aufnahme beendet. Alle Sortierkriterien wurden im Makro 1 gespeichert.
Verwenden Sie Excel VBA-Makros
In diesem Teil zeigen wir Ihnen, wie Sie mithilfe von VBA-Makros die benutzerdefinierte Sortierung in Ihrem Arbeitsblatt aktualisieren. In diesem Teil werden Sie auch die aufgezeichneten Makros verwenden.
- Klicken Sie im Menüband auf die Registerkarte "Entwickler".
- Klicken Sie anschließend in der Symbolleiste auf die Schaltfläche „Visual Basic“. Stattdessen können Sie auch die Taste „Alt + F11“ auf der Tastatur drücken, um die beiden Schritte zu ersetzen.
- Doppelklicken Sie im Visual Basic-Editor auf das Blatt im Bereich „VBAProject“. In diesem Blatt müssen Sie die benutzerdefinierte Sortierung aktualisieren. Und in Ihrer eigentlichen Datei müssen Sie auf das entsprechende Blatt doppelklicken.
- Geben Sie nun die folgenden Codes in den Bereich ein.
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
- Geben Sie dann die folgenden Codes zwischen den beiden oben genannten VBA-Sätzen ein.
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:C13")) Is Nothing Then
End If
Hier wird die Reichweite geschätzt. Das Verkaufsvolumen beträgt 12 Monate, und zusammen mit der ersten Zeile des Headers geben wir den Bereich „A1: C13“ ein. Sie können den Bereich auch entsprechend Ihrem tatsächlichen Arbeitsblatt in die Codes eingeben.
- Öffnen Sie in diesem Schritt das Modul 1 im Editor. Die Codes in diesem Modul sind der Prozess der benutzerdefinierten Sortierung, den Sie zuvor vorgenommen haben. Sie können sehen, dass Sie mit der Funktion zum Aufzeichnen von Makros viel Zeit sparen können.
- Kopieren Sie nun den Hauptteil in dieses Modul.
- Und dann doppelklicken Sie auf tarBlatt im Abschnitt "VBAProject" abrufen.
- Fügen Sie danach die Codes in die IF-END-IF-Codes ein.
- Ändern Sie dann den Bereich in den Codes entsprechend Ihren Anforderungen. Das aufgezeichnete Makro ist etwas kompliziert und redundant. Sie können es auch nach Bedarf ändern. Daher sehen die vollständigen VBA-Codes folgendermaßen aus:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:C13")) Is Nothing Then
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SortFields.Clear
.SortFields.Add Key:=Range("B2:B13"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
.SortFields.Add Key:=Range("C2:C13"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
End With
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:C13")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
End Sub
Wir fügen den Codes ein weiteres WITH-END WITH hinzu. Somit ist es klarer als das Rekordergebnis. Wenn Sie andere Anforderungen haben, können Sie diese auch an Ihren tatsächlichen Bedarf anpassen. Sie müssen vorsichtig sein, wenn Sie die Codes ändern. Andernfalls wird im Arbeitsblatt ein falsches Ergebnis angezeigt.
- Jetzt haben Sie die VBA-Codes im Editor fertiggestellt. Sie können zum Arbeitsblatt zurückkehren und das Ergebnis testen. Wenn Sie den nächsten Monat und die entsprechenden Zahlen in den Bereich aufnehmen, wird die benutzerdefinierte Sortierung automatisch aktualisiert.
Daher müssen Sie die benutzerdefinierte Sortierung niemals jedes Mal manuell aktualisieren, wenn Sie neue Elemente in das eingeben tarReichweite bekommen. Andererseits müssen Sie diese Arbeitsmappe als makrofähige Excel-Datei speichern. Andernfalls verlieren Sie die Codes, wenn Sie als normale Datei speichern.
Wir werden Excel-Korruptionsopfern helfen
Wir alle wissen, dass Excel sehr leistungsfähig ist und Ihnen dabei helfen kann, Ihre Arbeit schnell und einfach zu erledigen. Die Excel-Anwendung ist jedoch noch lange nicht perfekt. Manchmal wird Excel aus vielen verschiedenen Gründen beschädigt. Sobald Excel beschädigt ist, können Sie Ihre Aufgaben mit dieser Anwendung nicht mehr erledigen. Um besser arbeiten zu können, müssen Sie es so schnell wie möglich reparieren.
Unser Unternehmen arbeitet seit vielen Jahren im Wiederherstellungsbereich, insbesondere in der Excel-Wiederherstellung. Daher können Sie sich an unsere technischen Mitarbeiter wenden, um Hilfe zu erhalten. Mit jahrelanger Erfahrung können wir leicht herausfinden, warum Ihre Dateien beschädigt werden. Und um dir besser zu helfen Reparieren Sie Schäden an Excel xlsx-Dateienhaben wir ein Tool von Drittanbietern entwickelt. Dieses Tool ist sehr einfach zu manipulieren und Sie müssen sich keine Gedanken über das Datenschutzproblem machen.
Einführung des Autors:
Anna Ma ist eine Datenrettungsexpertin in DataNumen, Inc., das weltweit führend bei Datenwiederherstellungstechnologien ist, einschließlich Reparieren Sie den Word DocX-Fehler und Outlook-Reparatursoftwareprodukte. Für weitere Informationen besuchen Sie www.datanumen.com €XNUMX









