Функция Excel VBA TRIM (объяснена с примерами)

В Excel уже есть функция рабочего листа TRIM, которую можно использовать, чтобы избавиться от начальных, конечных и лишних пробелов между словами / строками.

В VBA есть функция TRIM (и она делает то же самое - удаляет лишние пробелы).

Зачем нам нужна функция TRIM и в VBA?

Честный вопрос!

Хотя вы можете работать со встроенной функцией TRIM в листах Excel, чтобы избавиться от пробелов. в некоторых случаях вам может потребоваться сделать это с помощью VBA.

Это могло быть частью более крупного кода.

Синтаксис функции VBA TRIM

ОБРЕЗАТЬ (строка)

«Строка» - это аргумент, который может быть текстовой строкой или переменной, содержащей текстовую строку.

Давайте узнаем, как использовать функцию VBA TRIM на нескольких примерах.

Пример 1 - Отображение результата в окне сообщения

Предположим, у вас есть следующий текст в ячейке A1

Обратите внимание, что перед предложением и после него есть пробелы.

Приведенный ниже код примет это предложение и покажет результат после обрезки лишних пробелов.

Sub TrimExample1 () MsgBox Trim (Range ("A1")) End Sub

При использовании функции TRIM в VBA необходимо знать одну важную вещь - она ​​удалит только начальные и конечные пробелы. Он не удаляет лишние пробелы между словами (что делает встроенная функция TRIM на листе).

Например, предположим, что у вас есть следующий текст в ячейке A1 (с дополнительными пробелами между словами):

Если я использую приведенный выше код VBA, отобразится окно сообщения, как показано ниже:

Как вы можете видеть в результате в окне сообщения, лишние пробелы между словами не удаляются функцией VBA TRIM.

Тогда какая альтернатива?

Если вы хотите удалить начальные и конечные слова, а также двойные пробелы между словами, лучше использовать следующий код:

Sub TrimExample1 () MsgBox WorksheetFunction.Trim (Range ("A1")) End Sub

В приведенном выше коде используется функция TRIM рабочего листа (вместо использования функции TRIM в VBA).

Примечание. Функция обрезки VBA не удаляет непробельные символы, например символы новой строки (vbNewLine, vbCrLf) так далее.

Пример 2 - Быстрое удаление начальных и конечных пробелов из диапазона ячеек

Предположим, у вас есть набор данных, показанный ниже, где есть начальные и конечные пробелы:

Вы можете использовать приведенный ниже код, чтобы мгновенно очистить эти данные и удалить все начальные и конечные пробелы:

Sub TrimExample1 () Dim Rng As Range Set Rng = Выбор для каждой ячейки в Rng Cell.Value = Trim (Cell) Next Cell End Sub

Приведенный выше код просматривает все ячейки в выделенном фрагменте и удаляет начальные и конечные пробелы.

Вам также могут понравиться следующие руководства по Excel / VBA:

  • 10 способов очистки данных в Excel.
  • Функция разделения Excel VBA.
  • Функция Excel VBA InStr.
  • Функция VBA LCase.
  • Функция VBA UCase.
  • Создание пользовательской функции (UDF) в Excel VBA.
wave wave wave wave wave