• стоит в начале строки;
• стоит в конце строки;
• следует за пробелом.
Эта программа работает через Exel как функция пользователя, но не всегда правильно. Может есть способ проще, или тут что-то не так.
Подскажите или исправьте, если не трудно.
Листинг программы:
Код: Выделить всё
Function Cut2Spaces(S$) As String
Dim R As Variant: R = Null ' Строка-результат
Dim pos1 As Long: pos1 = 1 ' Начало блока еще не обработанных данных
Dim pos2 As Long: pos2 = InStr(S$, " ") ' Начало блока пробелов
While pos2 <> 0
R = (R + " ") & Mid(S$, pos1, pos2 - pos1)
pos1 = pos2 + 2
While pos1 <= Len(S$) And Mid(S$, pos1, 1) = " "
pos1 = pos1 + 1 Wend
pos2 = InStr(pos1, S$, " ")
Wend
R = (R + " ") & Mid(S$, pos1)
Cut2Spaces = R
End Function