Whenever a split function finds an empty space, it will return a zero lenght element (""). Which is why i think your on the right track about the hidden chars. If stru(i) = "" within your loop should work to find the empty elements. I found a code for you that will clean strings, simply create a new string variable that you store the return value in within your loop. Such as: myCleansedElement = Cleanstring(strCu(i))
Good luck /chris
Function CleanString(StrIn As String) As String
' "Cleans" a string by removing embedded control (non-printable)
' characters, including carriage returns and linefeeds.
' Does not remove special characters like symbols, international
' characters, etc. This function runs recursively, each call
' removing one embedded character
Dim iCh As Integer
CleanString = StrIn
For iCh = 1 To Len(StrIn)
If Asc(Mid(StrIn, iCh, 1)) < 32 Then
'remove special character
CleanString = Left(StrIn, iCh - 1) & CleanString(Mid(StrIn, iCh + 1))
Exit Function
End If
Next iCh
End Function