Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1544to1548
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sortierung von Textteilen in einem String

Sortierung von Textteilen in einem String
28.02.2017 20:22:28
Textteilen
Hallo Excelgemeinde,
ich benötige eine VBA-Funktion die kommaseparierte Textteile im folgenden String aufsteigend sortiert:
Sorttxt("R ASD 123123, R TSD 512378, R MYM 101008, R ASD 489456, R TSD 400400, R XYZ 459200, A RTY 100100, B ATZ 789789, R MYM 101008", aufsteigend)
also so:
Ergebnis bei aufsteigend= true:
A RTY 100100, B ATZ 789789, R ASD 123123, R ASD 489456, R MYM 101008, R MYM 101008, R TSD 400400, R TSD 512378, R XYZ 459200
Ergebnis bei aufsteigend= false:
R XYZ 459200, R TSD 512378, R TSD 400400, R MYM 101008, R MYM 101008, R ASD 489456, R ASD 123123, B ATZ 789789, A RTY 100100
und eine Funktion, die bei mehrfach vorhanden Textteilen "wahr" rausgibt, sonst "falsch"
DplValue("R ASD 123123, R TSD 512378, R MYM 101008, R ASD 489456, R TSD 400400, R XYZ 459200, A RTY 100100, B ATZ 789789, R MYM 101008")
Ergebnis:
True

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortierung von Textteilen in einem String
28.02.2017 20:52:59
Textteilen
HAllo Erwin,
Schau mal hier:
Tabelle1

 AB
5R ASD 123123, R TSD 512378, R MYM 101008, R ASD 489456, R TSD 400400, R XYZ 459200, A RTY 100100, B ATZ 789789, R MYM 101008A RTY 100100 B ATZ 789789 R ASD 123123 R ASD 489456 R MYM 101008 R MYM 101008 R TSD 400400 R TSD 512378 R XYZ 459200
6 R XYZ 459200 R TSD 512378 R TSD 400400 R MYM 101008 R MYM 101008 R ASD 489456 R ASD 123123 B ATZ 789789 A RTY 100100
7 A RTY 100100 B ATZ 789789 R ASD 123123 R ASD 489456 R MYM 101008 R MYM 101008 R TSD 400400 R TSD 512378 R XYZ 459200
8  
9  
10R ASD 123123, R TSD 512378, R MYM 101008, R ASD 489456, R TSD 400400, R XYZ 459200, A RTY 100100, B ATZ 789789, R MYM 101008WAHR
11  

Formeln der Tabelle
ZelleFormel
B5=Sorttext(A5;"Aufsteigend")
B6=Sorttext(A5;"Absteigend")
B7=Sorttext(A5;"blabla..")
B10=dplvalue(A10)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Function Sorttext(strText As String, Optional sortOrder As String = "aufsteigend") As String
    Dim objArrayList As Object
    Dim vntArr As Variant
    Dim L As Long
    Set objArrayList = CreateObject("System.Collections.Arraylist")
    vntArr = Split(strText, ", ")
    With objArrayList
        For L = LBound(vntArr) To UBound(vntArr)
            .Add (vntArr(L))
        Next
        .Sort
        Select Case sortOrder
            Case "Aufsteigend"
                Sorttext = Join(.toarray, " ")
            Case "Absteigend"
                .Reverse
                Sorttext = Join(.toarray, " ")
            Case Else:
                MsgBox "sortOrder ist nicht sauber angegeben. Es wird aufsteigend sortiert"
                Sorttext = Join(.toarray, " ")
        End Select
    End With
End Function


Function dplValue(strText As String) As Boolean
    Dim objDic As Object
    Dim vntArr As Variant
    Dim L As Long
    dplValue = False
    Set objDic = CreateObject("scripting.Dictionary")
    vntArr = Split(strText, ", ")
    For L = LBound(vntArr) To UBound(vntArr)
        If objDic.exists(vntArr(L)) Then
            dplValue = True
            Exit Function
            Else:
            objDic(vntArr(L)) = 0
        End If
    Next
End Function


ransi
Anzeige
AW: Sortierung von Textteilen in einem String
28.02.2017 21:27:08
Textteilen
Hallo ransi,
funktioniert hervorragend!
Vermisse nur die Kommata in den Ergebnissen, also kleine Änderung:
Sorttext = Join(.toarray, ", ")
Vielen Dank

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige