Sortieren von Textdaten in alphabetischer Reihenfolge mit VBA in Microsoft Excel
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.
Logische Erklärung
Wir haben die benutzerdefinierte Funktion „SortString“ erstellt, um Daten alphabetisch zu sortieren. Es nimmt den Quellbereich und die 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.
Code Erklä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 Explicit Function SortString(Source As Range, Position As Long) As String 'Declaring variables Dim Cell As Range Dim values() As String Dim i As Long, j As Long Dim Done As Boolean ReDim values(1 To 1) 'Looping through all cells in the range For Each Cell In Source Done = False i = 1 'Creating an array of sorted name 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 'Adjusting value in sorted name array For j = UBound(values) To i + 1 Step -1 values(j) = values(j - 1) Next j End If values(i) = Cell.Value Next Cell 'Assigning value of required position SortString = values(Position + 1) End Function
Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook und Facebook.
Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]