Перейти к содержимому

VBA Excel. Удаление лишних пробелов (LTrim, RTrim, Trim)

Удаление лишних пробелов из строк с помощью кода VBA Excel. Функции LTrim, RTrim, Trim. Встроенная функция рабочего листа и пользовательская функция. Пример.

  1. Функции VBA: LTrim, RTrim, Trim
  2. Встроенная функция рабочего листа
  3. Пользовательская функция
  4. Пример удаления лишних пробелов

Функции VBA: LTrim, RTrim, Trim

  • LTrim(строка) — удаление пробелов слева;
  • RTrim(строка) — удаление пробелов справа;
  • Trim(строка) — удаление пробелов слева и справа.

Встроенная функция рабочего листа

Функция VBA Trim удаляет пробелы только по краям строки, не затрагивая двойные, тройные и т.д. пробелы внутри текста. Для удаления всех лишних пробелов следует использовать встроенную функцию Trim рабочего листа Excel.

Синтаксис функции Trim рабочего листа:
WorksheetFunction.Trim(строка)

Пользовательская функция

Можно бороться с лишними пробелами и с помощью пользовательской функции:

Function myTrim(text As String) As String
'Удаляем пробелы слева и справа строки
  text = Trim(text)
'Удаляем лишние пробелы внутри строки
    Do While InStr(text, "  ")
      text = Replace(text, "  ", " ")
    Loop
  myTrim = text
End Function

Пример удаления лишних пробелов

Сократим лишние пробелы в одной и той же строке с помощью функции Trim VBA, встроенной функции Trim рабочего листа Excel, пользовательской функции myTrim и сравним результаты.

Sub Primer()
Dim a1 As String
a1 = "  Жили   у     бабуси "
MsgBox Trim(a1) & vbCrLf _
& WorksheetFunction.Trim(a1) _
& vbCrLf & myTrim(a1)
End Sub

Чтобы код примера сработал без ошибок, код пользовательской функции myTrim должен быть добавлен в тот же модуль.

Добавить комментарий

Ваши комментарии, отправленные после 19 мая, будут опубликованы в конце мая после выхода на работу модератора. Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора.