AW: Ist eigentlich nicht GANZ...
20.09.2016 17:54:27
Daniel
eine kurze Spezielle UDF belastet das Gesamtsystem viel weniger, als eine aufwendig erstellte allgemeine.
in diesem konkreten Fall würde ich aber das Austauschen der Zeichen nicht mit in den Funktionsumfang mit aufnehmen, da es hierfür ja bereits die originäre Excelfunktion Wechseln gibt, die dann mit der UDF kombiniert werden kann.
allerdings würde ich vorsehen, dass man als Position sowohl die Position von links, als auch die Postion von rechts angeben kann.
dh +1 wäre der erste Teiltext, -1 der letzte Teiltext (und 0 gibt den ganzen skalar zurück, damit auch die Frmlfrks ihren Spass haben.
Function TeilText(txt As String, Optional TrKz As String = " ", Optional Position As Long = 1) _
As Variant
Dim TT() As String
TT = Split(txt, TrKz)
If Position = 0 Then
TeilText = TT
ElseIf Position > 0 Then
TeilText = TT(Position - 1)
Else
TeilText = TT(UBound(TT) + Position + 1)
End If
End Function
oder man stellt sich wirklich nur die Split-Funktion aus VBA in Excel zur verfügung:
Function ExcelSplit(txt As String, Optional TrKz As String = " ")
ExcelSplit = Split(txt, TrKz)
End Function
und verwendet dann die Funktion INDEX um den Textteil auszulesen.
=Index(Excelsplit(A1;" ");2)
(wobei man dann hier wieder Rechnen muss, wenn man die Position von rechts braucht.
Gruß Daniel