В Excel уже есть функция рабочего листа TRIM, которую можно использовать, чтобы избавиться от начальных, конечных и лишних пробелов между словами / строками.
В VBA есть функция TRIM (и она делает то же самое - удаляет лишние пробелы).
Зачем нам нужна функция TRIM и в VBA?
Честный вопрос!
Хотя вы можете работать со встроенной функцией TRIM в листах Excel, чтобы избавиться от пробелов. в некоторых случаях вам может потребоваться сделать это с помощью VBA.
Это могло быть частью более крупного кода.
Синтаксис функции VBA TRIM
ОБРЕЗАТЬ (строка)
«Строка» - это аргумент, который может быть текстовой строкой или переменной, содержащей текстовую строку.
Давайте узнаем, как использовать функцию VBA TRIM на нескольких примерах.
Пример 1 - Отображение результата в окне сообщения
Предположим, у вас есть следующий текст в ячейке A1
Обратите внимание, что перед предложением и после него есть пробелы.
Приведенный ниже код примет это предложение и покажет результат после обрезки лишних пробелов.
Sub TrimExample1 () MsgBox Trim (Range ("A1")) End Sub
Например, предположим, что у вас есть следующий текст в ячейке 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.