Funkcja Excel VBA TRIM (wyjaśniona z przykładami)

Excel ma już funkcję arkusza TRIM, której można użyć, aby pozbyć się początkowych, końcowych i dodatkowych spacji między słowami/ciągami.

Istnieje również funkcja TRIM w VBA (i robi dokładnie to samo - usuwa dodatkowe spacje).

Dlaczego potrzebujemy funkcji TRIM również w VBA?

Uczciwe pytanie!

Chociaż możesz pracować z wbudowaną funkcją TRIM w arkuszach programu Excel, aby pozbyć się spacji. w niektórych przypadkach może być konieczne wykonanie tego za pomocą VBA.

Może to być część większego kodu.

Składnia funkcji VBA TRIM

PRZYCINANIE(ciąg)

„Ciąg” to argument, który może być ciągiem tekstowym lub zmienną przechowującą ciąg tekstowy.

Nauczmy się korzystać z funkcji VBA TRIM na kilku przykładach.

Przykład 1 - Wyświetlanie wyniku w oknie wiadomości

Załóżmy, że masz następujący tekst w komórce A1

Zauważ, że przed i po zdaniu są spacje.

Poniższy kod przyjmie to zdanie i pokaże wynik po przycięciu dodatkowych spacji

Sub TrimExample1() MsgBox Trim(Zakres("A1")) Koniec Sub

Podczas korzystania z funkcji TRIM w VBA należy pamiętać o jednej ważnej rzeczy - usunie ona tylko spacje wiodące i końcowe. Nie usunie dodatkowych spacji między słowami (co robi wbudowana funkcja TRIM w arkuszu).

Załóżmy na przykład, że w komórce A1 znajduje się następujący tekst (z dodatkowymi spacjami między słowami):

Jeśli użyję powyższego kodu VBA, wyświetli się okno komunikatu, jak pokazano poniżej:

Jak widać w wyniku okna komunikatu, dodatkowe spacje między słowami nie są usuwane przez funkcję VBA TRIM.

Więc jaka jest alternatywa?

Jeśli chcesz usunąć początkowe, końcowe i podwójne spacje między słowami, lepiej użyć następującego kodu:

Sub TrimExample1() MsgBox WorksheetFunction.Trim(Range("A1")) End Sub

Powyższy kod używa funkcji TRIM arkusza roboczego (zamiast używania funkcji TRIM w VBA).

Uwaga: funkcja VBA Trim nie usuwa znaków innych niż białe - takich jak znaki nowej linii (vbNewLine, vbCrLf) itp.

Przykład 2 - Szybkie usuwanie wiodących i końcowych spacji z zakresu komórek

Załóżmy, że masz zestaw danych, jak pokazano poniżej, w którym znajdują się spacje wiodące i końcowe:

Możesz użyć poniższego kodu, aby natychmiast wyczyścić te dane i usunąć wszystkie spacje wiodące i końcowe:

Sub TrimExample1() Dim Rng As Range Set Rng = Zaznaczenie dla każdej komórki w Rng Cell.Value = Trim(Cell) Następna komórka End Sub

Powyższy kod przechodzi przez wszystkie komórki w zaznaczeniu i usuwa spacje wiodące i końcowe.

Możesz również polubić następujące samouczki Excel / VBA:

  • 10 sposobów na czyszczenie danych w programie Excel.
  • Funkcja podziału Excela VBA.
  • Funkcja Excel VBA InStr.
  • Funkcja VBA LCase.
  • Funkcja VBA UCase.
  • Tworzenie funkcji zdefiniowanej przez użytkownika (UDF) w Excel VBA.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave