Sortieren von Textdaten in alphabetischer Reihenfolge mit VBA in Microsoft Excel

Anonim

In diesem Artikel erstellen wir eine benutzerdefinierte Funktion zum Sortieren von Daten in alphabetischer Reihenfolge.

Rohdaten bestehen aus zufälligen Namen, die wir sortieren möchten.

Logikerklärung

Wir haben die benutzerdefinierte Funktion „SortString“ erstellt, um Daten alphabetisch zu sortieren. Es verwendet Quellbereich und Position als Eingaben und gibt Werte basierend auf der angegebenen Position zurück. Diese Funktion erstellt zuerst ein sortiertes Array und dann wird die angegebene Position verwendet, um den erforderlichen Wert aus dem sortierten Array zu extrahieren.

Codeerklärung

UBound(Werte)

Die obige Funktion wird verwendet, um die Anzahl der Werte innerhalb des Arrays zu ermitteln.

Werte(j) = Werte(j - 1)

Der obige Code wird verwendet, um Werte innerhalb des Arrays um einen Index zu verschieben.

Bitte folgen Sie unten für den Code

 Option Explizite Funktion SortString(Source As Range, Position As Long) As String 'Variablen deklarieren Dim Cell As Range Dim values() As String Dim i As Long, j As Long Dim Done As Boolean ReDim values(1 To 1) 'Durchschleifen alle Zellen im Bereich For Each Cell In Source Done = False i = 1 'Erstellen eines Arrays mit sortierten Namen Do If Cell.Value < values(i) Then Done = True Else i = i + 1 End If Loop While Done = False And i <= UBound(values) ReDim Preserve values(1 To UBound(values) + 1) If i <= UBound(values) Then 'Wert im sortierten Namensfeld anpassen For j = UBound(values) To i + 1 Step - 1 values(j) = values(j - 1) Next j End If values(i) = Cell.Value Next Cell 'Wert der gewünschten Position zuweisen SortString = values(Position + 1) End Function 

Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook. Außerdem können Sie uns auf Twitter und Facebook folgen.

Wir würden uns freuen, von Ihnen zu hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns auf der E-Mail-Site