Zeichenfolgen trennen ("StringParser")

19.05.2001


Stellen Sie sich vor, Sie haben importierte Daten,
die sich in einer einzigen Zelle mit Semikolons getrennt sind.
Sie benötigen aus dieser Zeichenfolge jedoch nur den dritten Wert:

Hallo;das;ist;eine;sehr:lange;Zeichenfolge

Mit der folgenden Routine können sie diesen Text bequem ermitteln:
 

s=strParse(Range("A1"),";",3)
'Für Excel 2000
Public Function strParse(Data, Trenn, Nr)
    On Error Resume Next
    Dim MainData() As String, SplitData() As String
    MainData = Split(Data, Trenn)
    SplitData = Split(MainData(Nr-1), Trenn)
    strParse = SplitData(0)
End Function
'Für Excel 97 oder älter
Public Function strParse(ByVal strText As String,_
    ByVal Trennzeichen As String, ByVal Position As Integer) As String
    Dim posStart, posStop, lenCar As Integer
    posStart = 1
    Do While Position > 1
        posStart = InStr(posStart, strText, Trennzeichen) + 1
        Position = Position - 1
    Loop
    posStop = InStr(posStart, strText, Trennzeichen)
    strParse = Mid(strText, posStart, IIf(posStop = 0, _
    Len(strText) + 1, posStop - posStart))
End Function