Funkcja Excel VBA TRIM
VBA TRIM jest podzielony na funkcje ciągów i tekstów, ta funkcja jest funkcją arkusza w VBA i podobnie jak odniesienie do arkusza, ta funkcja służy do przycinania lub usuwania niechcianych spacji z ciągu, pobiera pojedynczy argument, który jest ciągiem wejściowym i zwraca dane wyjściowe jako ciąg.
Jest kilka sytuacji, w których pobieramy dane z serwerów online i mamy do czynienia z sytuacją niezorganizowanych danych i niechcianych przestrzeni w komórce. Praca z niepotrzebnymi przestrzeniami jest bardzo bolesna. W zwykłych funkcjach arkusza mamy w programie Excel funkcję o nazwie TRIM, aby pozbyć się „wiodących spacji, końcowych spacji i spacji pomiędzy”. W VBA mamy również funkcję o nazwie TRIM, która działa dokładnie tak samo jak funkcja Excela, ale jest tylko jedna drobna różnica. Zobaczymy to nieco później w tym artykule.

Co robi funkcja przycinania?
TRIM to funkcja tekstowa, która usuwa spacje w programie Excel z wybranej komórki. W przestrzeniach mamy 3 typy „Spacje wiodące, spacje końcowe i spacje pomiędzy”.
Leading Space jest niczym, ale zanim jakakolwiek wartość zaczyna się w komórce, jeśli jest jakaś spacja, nazywa się to Leading Space.

Końcowa spacja to nic innego, jak po końcu wartości w komórce, jeśli jest jakaś spacja, nazywa się ją końcową spacją.

Przestrzeń pośrednia jest niczym po zakończeniu każdego słowa; w idealnym przypadku powinniśmy mieć jeden znak spacji. Wszystko, co zawiera więcej niż jeden znak spacji, nazywa się spacją między.

Aby przezwyciężyć wszystkie tego rodzaju problemy, mamy funkcję o nazwie TRIM.
Składnia

Ciąg: Jaki jest ciąg lub wartość, którą chcesz przyciąć? Może to być odwołanie do komórki, a także bezpośrednie podanie wartości do formuły.
Przykłady
Przykład 1
Teraz zobaczymy, jak usunąć wiodące spacje w programie Excel za pomocą funkcji TRIM. Wykonaj poniższe kroki
Krok 1: Utwórz nazwę makra i zadeklaruj zmienną jako ciąg.
Kod:
Sub Trim_Example1 () Dim k As String End Sub

Krok 2: Teraz dla tej zadeklarowanej zmiennej przypisz wartość za pomocą TRIM.
Kod:
Sub Trim_Example1 () Dim k As String k = Trim (End Sub

Krok 3: w przypadku tego typu ciągu słowo w cudzysłowie to „Witamy w VBA”.
Kod:
Sub Trim_Example1 () Dim k As String k = Trim ("Witamy w VBA") End Sub

Krok 4: Teraz pokaż wynik tej zmiennej w oknie komunikatu.
Kod:
Sub Trim_Example1 () Dim k As String k = Trim ("Witamy w VBA") MsgBox k End Sub

Krok 5: Uruchom ten kod za pomocą klawisza F5 lub uruchom ręcznie. Powinniśmy otrzymać poprawny ciąg w oknie komunikatu.

Wynik:

Tak więc funkcja TRIM usunęła wszystkie wiodące spacje, które wprowadziliśmy do wartości ciągu. Teraz wynikiem jest poprawne zdanie, tj. „Witamy w VBA”.
Przykład nr 2
Teraz spójrz na jeszcze jeden przykład usuwania spacji końcowych. Weź to samo słowo, ale tym razem wprowadź końcowe spacje.
„Witamy w VBA. „
Kod:
Sub Trim_Example2 () Dim k As String k = Trim ("Witamy w VBA") MsgBox k End Sub

Uruchom ten kod ręcznie lub za pomocą klawisza F5 Funkcja przycinania usuwa również spacje końcowe.

Wynik:

Przykład # 3 - Wyczyść dane w komórkach
Teraz zobaczymy praktyczny przykład czyszczenia danych w komórkach programu Excel. Załóżmy, że w arkuszu Excela masz zestaw danych, taki jak poniżej.

When we have more than one cell data, we need to write different codes. Follow the below steps to write code.
Step 1: Declare a variable as “Range.”
Code:
Sub Trim_Example3() Dim MyRange As Range End Sub

Step 2: Since the range data type is an object, we need to set the range first. So set the range as “selection.”
Code:
Sub Trim_Example3() Dim MyRange As Range Set MyRange = Selection End Sub

Note: MyRange = Selection means whatever the cells I select becomes a range. So in that range, TRIM removes unwanted spaces.
Step 3: Now, using For Each VBA Loop, apply the TRIM function.
Code:
Sub Trim_Example3() Dim MyRange As Range Set MyRange = Selection For Each cell In MyRange cell.Value = Trim(cell) Next End Sub

Step 4: Now go back to the worksheet. Go to insert and draw a rectangular shape.

Step 5: Add a word to the inserted rectangular shape as click here to clean the data.

Step 6: Right-click on the rectangular shape and select the assigned macro.

Step 7: Now, the macro names box will open. Select the name of the macro we just created. Click on Ok.
Step 8: Now select the range where we need to clean the data.

Step 9: After selecting the range, click on the assigned macro rectangular box. It will clean the data.

So we got cleaned value, i.e., after removing leading & trailing spaces.
Difference Between Excel & VBA Trim Function
The only difference between them is VBA function cannot remove in between spaces while the worksheet function in VBA does. For example, take a look at the below example.

In cell A3, we have in-between spaces. If select and click on the rectangular shape, it will only remove trailing & leading spaces, not in-between spaces.

To overcome this problem, we need to use the trim function as a worksheet function in the code.
Code:
Sub Trim_Example3() Dim MyRange As Range Set MyRange = Selection For Each cell In MyRange cell.Value = WorksheetFunction.Trim(cell) Next End Sub

Here we have used a worksheet function, not a VBA function. This will remove all kinds of spaces.
Things to Remember
- VBA Trim & Worksheet Trim syntax is exactly the same.
- It can only remove leading & trailing spaces, not in-between spaces.
- Funkcja przycinania programu Excel może usuwać wszelkiego rodzaju spacje.