I have set up a small function.
Code:
Function removeTrailingChars(sTerm As String) As String
Dim i As Integer 'counter
Dim suffix As String 'check for "~"
If Right(sTerm, 1) = "~" Then
suffix = Right(sTerm, 1)
sTerm = Mid(sTerm, 1, Len(sTerm) - 1)
End If
For i = Len(sTerm) To 0 Step -1
If Mid(sTerm, i, 1) = "*" Then
'Debug.Print i, Mid(sTerm, i, 1) 'for testing/debug
Else
removeTrailingChars = Left(sTerm, i) & IIf(suffix = "~", "~", "")
Exit For
End If
Next
End Function
Test routine:
Code:
Sub testStars()
Dim i As Integer
Dim a(3) As String
a(0) = "SV1*HC:90686*33*UN*1****P*******"
a(1) = "SV1*HC:90686*33*UN*1****************~"
a(2) = "SV1*HC:90686*33*UN*1**CX**********"
a(3) = "SV1*HC:90686*33*UN*1**cx**********~"
For i = LBound(a) To UBound(a)
Debug.Print removeTrailingChars(a(i)) 'just printing the result to immediate window
Next i
End Sub
OOOooops: I see you have some code.