Brauchen Sie Hilfe?
Web:     Online-Formular
E-Mail:  
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Tel:       +49(0)151 / 164 55 914

Nutzen Sie für Ihre Anfrage unser Online-Formular oder senden Sie uns eine E-Mail an Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!. Gerne können Sie aber auch direkt telefonisch Kontakt aufnehmen.

   
     Referenzen
 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   

Begriffe innerhalb einer Zelle sortieren

Mit Hilfe der benuterdefinierten Funktion (UDF) =SORTLIST(Zelle; Separator) können Einträge, welche sich innerhalb einer Zelle befinden alphabetisch sortiert werden.

Die Funktion zerlegt den Textinhalt der Zelle in Elemente, die durch ein bestimmtes Trennzeichen separiert sind. Das Trennzeichen wird innerhalb der Funktion verwendet und die sortierten Textelemente werden wieder unter Verwendung desselben Trennzeichens zusammengefügt und als Zeichenfolge zurückgegeben. Die Funktion ist geeignet, um Aufzählungen in einer Textzelle, die z. B. durch Komma oder Semikolon getrennt sind, alphabetisch zu sortieren. Auch Auflistungen mit Zeilenumbruch lassen sich so sortieren.

Die Lösung stammt von wilfert.de und wird mit ausdrücklicher Genehmigung auf Excel-Inside.de veröffentlicht.

Der VBA-Code für die benutzerdefiniert Funktion iist wie folgt aufgebaut und muss in ein Code-Modul eingefügt werden.

Function SortList(ByVal MyText As String, ByVal MySeparator As String) As String
'Gibt eine alphabetisch sortierte Liste von durch ein Trennzeichen separierten Elementen einer Zeichenfolge zurück
    Dim strBuffer As String
    Dim intCounter As Integer
    Dim arrList() As String
    Dim intPos As Integer
    Dim i As Integer
    Dim j As Integer
    Dim strBuf As String
        
    'Einzelne Elemente der Zeichenfolge in Array schreiben
    strBuffer = Trim(MyText)
    Do
        intPos = InStr(strBuffer, MySeparator)
        intCounter = intCounter + 1
        ReDim Preserve arrList(intCounter)
        If intPos = 0 Then
            arrList(intCounter) = Trim(strBuffer)
            strBuffer = ""
        Else
            arrList(intCounter) = Left(strBuffer, intPos - 1)
            strBuffer = Trim(Right(strBuffer, Len(strBuffer) - intPos))
        End If
    Loop While Len(strBuffer) > 0

    'Array sortieren
    For i = 1 To intCounter - 1
        For j = i + 1 To intCounter
            If arrList(j) < arrList(i) Then
                strBuf = arrList(j)
                arrList(j) = arrList(i)
                arrList(i) = strBuf
            End If
        Next j
    Next i

    'Zeichenfolgen zurückschreiben
    For intPos = 1 To intCounter
        strBuffer = strBuffer & arrList(intPos)
        If intPos < intCounter Then strBuffer = strBuffer & MySeparator
    Next intPos

    SortList = strBuffer
    
End Function

In der beigefügten Beispieldatei können Sie die neue Funktion SORTLIST() in Aktion betrachten.

   

Relevante Artikel

  • VBA Geschwindigkeitstest

    In diesem Beitrag möchte ich Ihnen einen Überblick über verschiedene Arten von  VBA-Schleifen und den daraus resultierenden Durchlaufgeschwindigkeiten geben. Die Testdatei enthält dazu in Spalte A...

  • Autokorrekturliste auslesen

    Wie alle Office-Programme, enthält auch Excel die Autokorrektur-Funktion. Ab Excel 2007 ist diese über die Backstage (Datei / Excel Optionen / Dokumentprüfung / Schaltfläche...

  • Sicherheitseinstellungen für Makros

    Nachfolgend erhalten Sie eine Übersicht über die Einstellmöglichkeiten der Makrosicherheit in den unterschiedlichen Excel-Versionen: Die jeweiligen Einstellungen können Sie wie folgt verändern:...

  • Markierte Zellen summieren

      Mit dieser Prozedur, werden alle markierten Zellen summiert. Dabei wird geprüft, ob die einzelnen Zellen eine Zahl enthalten. Nur dann wird die Zelle in die Summenbildung mit einbezogen.   Geben Sie...

  • VBA Passwort über ein VBA-Makro automatisch aufheben

    In diesem Beitrag erfahren Sie, wie per VBA-Makro ein mit Passwort gesichertes VBA-Makro automatisch entsperrt werden kann. Es geht nicht darum, den VBA-Schutz zu haken. Bei der vorgestellten...

   

Excel-Inside auf Facebook Excel-Live News blog Excel-Inside RSS-Feed Twitter Account für Excel-Inside Mail an Excel-Inside 

Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
Unsere Produkte
Office Schulungen VBA, Excel, Access
E-Book Formeln und Funktionen Excel 2013