Excel вече има функция TRIM на работен лист, която можете да използвате, за да се отървете от водещите, задните и допълнителните интервали между думи/низове.
Има функция TRIM и във VBA (и тя прави точно същото - премахване на допълнителни интервали).
Защо се нуждаем от функция TRIM и във VBA?
Честен въпрос!
Въпреки че можете да работите с вградената функция TRIM в работни листове на Excel, за да се отървете от пространствата. в някои случаи може да се наложи да направите това с помощта на VBA.
Това може да е част от по -голям код.
Синтаксис на функцията VBA TRIM
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 Trim не премахва символите, които не са празни пространства - като например нови редове (vbNewLine, vbCrLf) и др.
Пример 2 - Бързо премахване на водещите и задните пространства от диапазон от клетки
Да предположим, че имате набор от данни, както е показано по -долу, където има предни и последни интервали:
Можете да използвате кода по -долу, за да почистите незабавно тези данни и да премахнете всички предни и задни пространства:
Sub TrimExample1 () Dim Rng As Range Set Rng = Избор за всяка клетка в Rng клетка. Value = Trim (Cell) Next Cell End Sub
Горният код преминава през всички клетки в селекцията и премахва предните и задните интервали.
Може да харесате и следните уроци по Excel/VBA:
- 10 начина за почистване на данни в Excel.
- Функция Excel VBA Split.
- Excel VBA InStr функция.
- VBA LCase функция.
- Функция VBA UCase.
- Създаване на потребителска функция (UDF) в Excel VBA.