VBA для Excel: как объединить несколько строк, которые находятся в одной ячейке? - PullRequest
0 голосов
/ 19 ноября 2010

Я получил некоторые результаты из Outlook в Excel, используя VBA.Тем не менее, в ОДНОЙ ячейке есть несколько ячеек, содержащих несколько строк, например

line 1
line 2



another line


final line

Сначала я попытался использовать регулярное выражение «^ $» для удаления пустых строк, но это не работает.*

И что еще хуже, поскольку все строки находятся в одной ячейке, я не могу использовать формулу для их объединения.

Любая помощь будет принята с благодарностью!между строк?Я использовал "^ $", чтобы сопоставить их и заменить на "".это означает, что ничего не осталось.Но все же, пустые строки есть.Я также удалил "chr (13)".

1 Ответ

1 голос
/ 19 ноября 2010

Хотите удалить все разрывы строк?

YourResult = replace(replace(YourCellValue, chr(10), ""), chr(13), "")

Или вы просто хотите удалить пустые строки?

[править] Ответ выше не проверялся.Теперь я вижу, что символом, разделяющим строки, является chr (10), поэтому вам нужно только заменить это:

YourResult = replace(YourCellValue, chr(10), "")

Также, если вы хотите сохранить несколько строк, но удалить пустые строки, вы можетезамените два перевода строки одним и повторяйте этот шаг до тех пор, пока не останется никаких изменений:

Function FixLines(value As String)
  Do
    s = value
    value = Replace(value, Chr(10) & Chr(10), Chr(10))
  Loop Until value = s
  FixLines = value
End Function

YourResult = FixLines(YourCellValue)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...