Aus XIMES
Function Delete_Nth_Element(was As String, nr As Integer) As String
Dim str As String
Dim i As Integer
Dim vorn As Integer 'Erster Buchstabe des Elements'
Dim hinten As Integer 'Letzter Buchstabe des elements inkl Trennzeichen, sovorhanden
Dim trennzeichen As String
trennzeichen = ";"
vorn = 0
hinten = 0
For i = 1 To nr
If IsError(InStr(hinten + 1, was, trennzeichen)) Then
If i < nr Then Stop
vorn = hinten
hinten = 0
Exit For
ElseIf InStr(hinten + 1, was, trennzeichen) = 0 Then
vorn = hinten
hinten = 0
Exit For
Else
vorn = hinten + 1
hinten = InStr(hinten + 1, was, trennzeichen)
End If
Next
str = ""
If vorn > 1 Then str = Left(was, vorn - 1)
If hinten > 0 Then str = str & Right(was, Len(was) - hinten)
Delete_Nth_Element = str
End Function
Sub testDelete_Nth_Element()
Dim str As String
str = Delete_Nth_Element("1;22;333;4444;55555;666666;7777777", 1)
If str <> "22;333;4444;55555;666666;7777777" Then Stop
str = Delete_Nth_Element("1;22;333;4444;55555;666666;7777777", 3)
If str <> "1;22;4444;55555;666666;7777777" Then Stop
str = Delete_Nth_Element("1;22;333;4444;55555;666666;7777777", 7)
If str <> "1;22;333;4444;55555;666666" Then Stop
End Sub