В этом руководстве будет показано, как использовать функции Trim, LTrim и RTrim VBA, а также функцию обрезки рабочего листа.
Функция обрезки
Функция VBA Trim удаляет («обрезает») ошибочные пробелы до и после строк текста.
Обрезать пробелы до и после текста
Функция VBA Trim удаляет пробелы до и после строк текста:
12345678910 | Sub TrimExample_1 ()MsgBox Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».MsgBox Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».MsgBox Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».Конец подписки |
Обрезать несколько пробелов до и после текста
Это включает в себя удаление нескольких пробелов до и после текста:
12345678910 | Sub TrimExample_2 ()MsgBox Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».MsgBox Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».MsgBox Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».Конец подписки |
Обрезка VBA НЕ удаляет несколько пробелов между словами
Однако функция Trim не удаляет несколько пробелов между словами:
12345678910 | Sub TrimExample_3 ()MsgBox Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».MsgBox Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».MsgBox Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».Конец подписки |
Обрезка как функция рабочего листа
Однако функцию Excel Trim workheet можно использовать для удаления лишних пробелов между словами:
Использовать функцию обрезки рабочего листа в VBA
Чтобы использовать функцию обрезки Excel в VBA, вызовите ее с помощью WorksheetFunction:
12345678910 | Sub TrimExample_4 ()Msgbox WorksheetFunction.Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».Msgbox WorksheetFunction.Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».Msgbox WorksheetFunction.Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».Конец подписки |
Устали искать примеры кода VBA? Попробуйте AutoMacro!
Разница между WorksheetFunction.Trim и VBA Trim
Это продемонстрирует различия между Trim и WorksheetFunction.Trim:
1234567891011121314151617 | Sub TrimExample_5 ()Msgbox WorksheetFunction.Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».Msgbox Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».Msgbox WorksheetFunction.Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».Msgbox Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».Msgbox WorksheetFunction.Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».Msgbox Trim («Я люблю превосходить»)Результат: «Я люблю превосходить».Конец подписки |
Используйте VBA для добавления функции обрезки в диапазон
Функцию Trim Worksheet можно добавить в диапазон с помощью свойства .Formula:
123 | Sub TrimExample_6 ()ThisWorkbook.Worksheets ("Sheet1"). Range ("B1"). Formula = "= trim (A1)"Конец подписки |
Функция LTrim
Функция LTrim удаляет пробелы только с левой стороны слова:
12345678910111213141516171819 | Sub TrimExample_7 ()MsgBox LTrim («Я люблю превосходить»)Результат: «Я люблю превосходить».MsgBox LTrim («Я люблю превосходить»)Результат: «Я люблю превосходить».MsgBox LTrim («Я люблю превосходить»)Результат: «Я люблю превосходить».MsgBox LTrim («Я люблю превосходить»)Результат: «Я люблю превосходить».MsgBox LTrim («Я люблю превосходить»)Результат: «Я люблю превосходить».MsgBox LTrim («Я люблю превосходить»)Результат: «Я люблю превосходить».Конец подписки |
Функция RTrim
Функция RTrim удаляет пробелы только с правой стороны слова:
12345678910111213141516171819 | Sub TrimExample_8 ()MsgBox RTrim («Я люблю превосходить»)Результат: «Я люблю превосходить».MsgBox RTrim («Я люблю превосходить»)Результат: «Я люблю превосходить».MsgBox RTrim («Я люблю превосходить»)Результат: «Я люблю превосходить».MsgBox RTrim («Я люблю превосходить»)Результат: «Я люблю превосходить».MsgBox RTrim («Я люблю превосходить»)Результат: «Я люблю превосходить».MsgBox RTrim («Я люблю превосходить»)Результат: «Я люблю превосходить».Конец подписки |
Trim, Ltrim и Rtrim не удаляют пробелы между словами.
Удалить все пробелы из текста
Обрезка удалит только лишние пробелы между словами, но чтобы удалить все пробелы в строке текста, вы можете использовать функцию замены:
1234 | Sub ReplaceExample ()MsgBox Replace ("Я люблю превосходить", "", "")Результат: «Iloveexcel»Конец подписки |