Funkce Excel VBA TRIM (vysvětleno s příklady)

Excel již má funkci listu TRIM, kterou můžete použít k odstranění úvodních, koncových a nadbytečných mezer mezi slovy/řetězci.

Ve VBA je také funkce TRIM (a dělá přesně to samé - odstraňte další mezery).

Proč potřebujeme také funkci TRIM ve VBA?

Spravedlivá otázka!

I když můžete pracovat s vestavěnou funkcí TRIM v listech aplikace Excel, abyste se zbavili mezer. v některých případech to budete muset udělat pomocí VBA.

Může to být součástí většího kódu.

Syntaxe funkce VBA TRIM

TRIM (řetězec)

„Řetězec“ je argument, který může být textový řetězec nebo proměnná, která obsahuje textový řetězec.

Pojďme se na několika příkladech naučit používat funkci VBA TRIM.

Příklad 1 - Zobrazení výsledku v okně zprávy

Předpokládejme, že v buňce A1 máte následující text

Všimněte si, že před a za větou jsou mezery.

Níže uvedený kód by vzal tuto větu a ukázal výsledek po ořezání mezer

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

Při používání funkce TRIM ve VBA je třeba vědět jednu důležitou věc - odstraní pouze úvodní a koncové mezery. Neodstraní mezery mezi slovy (což dělá integrovaná funkce TRIM v listu).

Předpokládejme například, že máte v buňce A1 následující text (s mezerami mezi slovy):

Pokud použiji výše uvedený kód VBA, zobrazí se okno se zprávou, jak je uvedeno níže:

Jak vidíte ve výsledku pole se zprávou, mezery mezi slovy nejsou odstraněny funkcí VBA TRIM.

Jaká je tedy alternativa?

Pokud chcete odstranit úvodní, koncová a dvojitá mezery mezi slovy, je lepší použít následující kód:

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

Výše uvedený kód používá funkci TRIM listu (namísto použití funkce TRIM ve VBA).

Poznámka: Funkce VBA Trim neodstraňuje znaky, které nejsou prázdné - například nové řádky (vbNewLine, vbCrLf) atd.

Příklad 2 - Rychle odeberte úvodní a koncové mezery z řady buněk

Předpokládejme, že máte sadu dat, jak je ukázáno níže, kde jsou úvodní a koncové mezery:

Níže uvedený kód můžete použít k okamžitému vyčištění těchto dat a odstranění všech úvodních a koncových mezer:

Sub TrimExample1 () Dim Rng As Range Set Rng = Selection for each Cell In Rng Cell.Value = Trim (Cell) Next Cell End Sub

Výše uvedený kód prochází všemi buňkami ve výběru a odstraňuje úvodní a koncové mezery.

Také by se vám mohly líbit následující výukové programy Excel/VBA:

  • 10 způsobů, jak vyčistit data v aplikaci Excel.
  • Funkce rozdělení VBA aplikace Excel.
  • Funkce Excel VBA InStr.
  • Funkce VBA LCase.
  • Funkce VBA UCase.
  • Vytvoření funkce definované uživatelem (UDF) v aplikaci Excel VBA.
wave wave wave wave wave