Я создал макрос для удаления всех пробелов в строке, в частности, адрес электронной почты. Однако он удаляет только около 95% пробелов и оставляет несколько.Удаление всех пространств в строке
Мой код:
Sub NoSpaces()
Dim w As Range
For Each w In Selection.Cells
w = Replace(w, " ", "")
Next
End Sub
Вещи, которые я пытался решить эту проблему включают:
~ Подтвержденные пространства действительно пространства с функцией кода, это символ 32 (пробел)
~ Используется заменяющий макрос в сочетании с макросом замены
~ У вас есть дополнительный макрос, использующий функцию Trim для удаления начального и конечного пробелов.
~ Сделал отдельный макрос для проверки неразрывных пробелов (символ 160)
~ Используется функция поиска и замены для поиска и замены пробелов ничем. Подтвержденная работа.
У меня есть только одна ячейка, выбранная при запуске макроса. Он выбирает и проходит через все ячейки из-за части Selection.Cells кода.
Несколько примеров:
1 STAR MOVING @ ATT.NET
322 [email protected]
[email protected] COM.
Они содержат только регулярные пропуски, но пропускаются.
['w = WorksheetFunction.Clean (w)'] (https://msdn.microsoft.com/en-us/library/office/ff837762.aspx) – Slai
Можете ли вы предоставить строку, в которой она не работает для? Это поможет в воспроизведении проблемы. – Kyle
Являются ли замены пробелов не встречающимися, когда вы не выбрали ячейку перед запуском кода? Этот код применяется только к выбранным ячейкам. –