Как удалить разрывы строк в ячейке, но сохранить формат адреса в той же ячейке VBA

Я пытаюсь удалить разрывы строк в следующей ячейке:

  (Пустая строка) Test Company1640 Test Avenue, New York, NY 10035 (000  ) 123-456 (Пустой разрыв строки)  

Я хочу удалить две строки с разрывами строки. Я попытался использовать поиск и замену, чтобы заменить разрывы строк на альтернативный код 0010, но он создал длинную строку.

Я хочу закончить с этим:

  Test Company1640 Test Avenue, New York, NY 10035 (000) 123-456  

Любая помощь приветствуется.


1

Что-то вроде этого

  Dim  vv = Trim (cell.Value) if left (v, 1) = vblf then v = right (v, len (v) -1) 'удалить ведущий разрыв, если right (v, 1) = vblf, затем v = left (v,  len (v) -1) 'remove trailingbreakv = replace (v, vbLf & vbLf, vbLf)' удалить пустые строкиcell.value = v  

ответил 11 октября 2018 в 19:36
добавить комментарий |

Что-то вроде этого

  Dim vv = Trim (cell.Value), если оставлено  (v, 1) = vblf, затем v = right (v, len (v) -1) 'удалить начальный разрыв, если right (v, 1) = vblf, затем v = left (v, len (v) -1)' удалить конечный разрыв v  = replace (v, vbLf & vbLf, vbLf) 'удалить пустые строкиcell.value = v  

0

Вот UDF, который работает аналогично функции TRIM на листе, но позволяет вам указать символ для обрезки:

  Option ExplicitFunction trimCHAR (ByVal S как String, char как String) Dim RE As Object Dim I As LongSet RE = CreateObject ("vbscript.regexp") With RE .Global = True .MultiLine = True 'нужно делать отдельно,  в противном случае несколько символов внутри будут удалены .Pattern = char & "$" S = .Replace (S, "") 'Удалить лишние символы внутри или в конце строки .Pattern = "^" & char S = .Replace (S  , "") 'Удалить лишние символы в начале строкиE  nd WithtrimCHAR = SEnd Function  

В вашей ситуации вы могли бы использовать его так:

  = trimCHAR (cell_ref, CHAR (10  ))  

ИЛИ вы можете использовать его как часть макроса, который выполняет итерацию по всем обрабатываемым ячейкам.

Идея для этого пришла из Текст Power Query. Функция Trim , которая работает только с началом и концом строки, но позволяет указать любую строку символов; наряду с его адаптацией, разработанной Кеном Пулсом, который добавляет функцию TRIM на листе, заменяющую последовательные символы в строке только на один.

отредактировано 14 октября 2018 г. в 1:19
ответил 12 окт. 2018 в 11:03
добавить комментарий |

Вот UDF, который работает аналогично функции TRIM рабочего листа, но позволяет вам указать символ для обрезки:

  Option ExplicitFunction trimCHAR (ByVal S как строка, char как строка) Dim RE как объект Dim I как LongSet RE = CreateObject ("vbscript.regexp") с RE .Global = True .MultiLine = True  'необходимо делать отдельно, иначе несколько символов внутри будут удалены .Pattern = char & "$" S = .Replace (S, "")' Удалите лишние символы внутри или в конце строки .Pattern = "^" & char  S = .Replace (S, "") 'Удалить лишние символы в начале строкиEnd WithtrimCHAR = SEnd Function  

В вашей ситуации вы можете использовать это как:

  = trimCHAR (cell_ref, CHAR (10))  

ИЛИ вы можете использовать его как часть макроса, который выполняет итерацию по всем ячейкам, которые нужно обработано.

Идея для этого пришла из функции Power Query Text.Trim , которая работает только с началом и концом строки, но позволяет использовать любые символы полосы нг подлежит уточнению; наряду с его адаптацией, разработанной Кеном Пулсом, который добавляет функцию TRIM на листе, заменяющую последовательные символы в строке только на один.



Удаление разрывов строк в ячейке Excel с помощью формулы

Привет всем, у меня есть столбец Excel, в котором присутствуют некоторые данные. Проблема в том, что каждая запись в указанном столбце имеет ненужный разрыв ведущей строки, как показано на снимке . Как я могу быстро и автоматически удалить эти разрывы строк? Всем спасибо 🙂


6

Используйте CLEAN в соответствующих ячейках

Функция CLEAN в Microsoft Excel удаляет все непечатаемые символы из строки.

Функция CLEAN — это встроенная функция Excel, относящаяся к категории String/Text Function. Его можно использовать как функцию рабочего листа (WS) в Excel. Как функцию рабочего листа, функцию ОЧИСТКА можно ввести как часть формулы в ячейку рабочего листа..

Ссылка

Пример, ваш ввод, который я ввел в ячейку A1 , и вывод = CLEAN (A1) находится в ячейке A2

ответ дан 14 сен ’17 в 9 : 37
  • Большое спасибо. Это решило мою проблему. Продолжайте в том же духе 🙂 — sam 14 сен ’17 в 9:47
  • 1
    Нет проблем — рад помочь 🙂 — Том 14 сен 2017, в 9:48
добавить комментарий |

Используйте CLEAN для рассматриваемых ячеек

Функция CLEAN в Microsoft Excel удаляет все непечатаемые символы из строки.

Функция CLEAN — это встроенная функция в Excel, относящаяся к категории строковых/текстовых функций. Его можно использовать как функцию рабочего листа (WS) в Excel. Как функцию рабочего листа, функцию CLEAN можно ввести как часть формулы в ячейку рабочего листа.

Справка

Пример, ваш ввод Я ввел в ячейку A1 , а результат = CLEAN (A1) находится в ячейке A2

Оцените статью
logicle.ru
Добавить комментарий