VBA TRIM

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 odwołanie 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 między” . W VBA mamy również funkcję TRIM, która działa dokładnie tak samo jak funkcja Excela, ale jest tylko jedna drobna różnica, zobaczymy to w tym artykule nieco później.

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.

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

Pomiędzy spacją nie ma nic po zakończeniu każdego słowa. Idealnie powinniśmy mieć jeden znak spacji, cokolwiek 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

Możesz pobrać ten szablon funkcji VBA TRIM tutaj - Szablon funkcji VBA TRIM

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 ciągu wpisz słowo w podwójnych cudzysłowach jako „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ź spacje końcowe.

„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ż końcowe spacje.

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.

Kiedy mamy więcej niż jedną komórkę danych, musimy napisać różne kody. Wykonaj poniższe czynności, aby napisać kod.

Krok 1: Zadeklaruj zmienną jako „Zakres”.

Kod:

 Sub Trim_Example3 () Dim MyRange As Range End Sub 

Krok 2: Ponieważ typ danych zakresu jest obiektem, musimy najpierw ustawić zakres. Ustaw więc zakres jako „wybór”.

Kod:

 Sub Trim_Example3 () Dim MyRange As Range Ustaw MyRange = Selection End Sub 

Uwaga: MyRange = Selection oznacza, że ​​wybrane przeze mnie komórki stają się zakresem. Więc w tym zakresie TRIM usuwa niechciane spacje.

Krok 3: Teraz używając funkcji For Each VBA Loop zastosuj funkcję TRIM.

Kod:

 Sub Trim_Example3 () Dim MyRange As Range Ustaw MyRange = Zaznaczenie dla każdej komórki w komórce MyRange.Value = Trim (cell) Next End Sub 

Krok 4: Teraz wróć do arkusza. Idź do wstawienia i narysuj prostokątny kształt.

Krok 5: Dodaj słowo do wstawionego prostokątnego kształtu, kliknij tutaj, aby wyczyścić dane.

Krok 6: Kliknij prawym przyciskiem myszy prostokątny kształt i wybierz przypisane makro.

Krok 7: Teraz otworzy się okno nazw makr. Wybierz nazwę właśnie utworzonego makra. Kliknij OK.

 

Krok 8: Teraz wybierz zakres, w którym musimy wyczyścić dane.

Krok 9: Po wybraniu zakresu kliknij na przypisaną prostokątną ramkę makra. Oczyści dane.

Więc otrzymaliśmy wyczyszczoną wartość, tj. Po usunięciu spacji wiodących i końcowych.

Różnica między funkcją przycinania programu Excel i VBA

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 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.
  • Excel trim function can remove all kinds of spaces.