Excel VBA TRIM -funktion (förklaras med exempel)

Innehållsförteckning

Excel har redan en TRIM -kalkylbladsfunktion som du kan använda för att bli av med ledande, bakre och extra mellanslag mellan ord/strängar.

Det finns också en TRIM -funktion i VBA (och den gör exakt samma sak - ta bort extra mellanslag).

Varför behöver vi också en TRIM -funktion i VBA?

Rättvis fråga!

Medan du kan arbeta med den inbyggda TRIM -funktionen i Excel -kalkylblad för att bli av med mellanslag. i vissa fall kan du behöva göra detta med VBA.

Detta kan vara en del av en större kod.

Syntax för VBA TRIM -funktionen

TRIM (sträng)

"String" är argumentet som kan vara en textsträng eller en variabel som innehåller en textsträng.

Låt oss lära oss hur du använder VBA TRIM -funktionen med ett par exempel.

Exempel 1 - Visar resultat i en meddelanderuta

Antag att du har följande text i cell A1

Observera att det finns mellanslag före och efter meningen.

Koden nedan tar den här meningen och visar resultatet efter att de extra mellanslagen trimmats

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

Det är en viktig sak att veta när du använder TRIM -funktionen i VBA - det tar bara bort de ledande och bakre utrymmena. Det tar inte bort de extra mellanslagen mellan orden (vilket den inbyggda TRIM-funktionen i kalkylbladet gör).

Anta till exempel att du har följande text i cell A1 (med extra mellanslag mellan orden):

Om jag använder ovanstående VBA -kod, kommer det att visa en meddelanderuta som visas nedan:

Som du kan se i meddelanderutans resultat tas de extra mellanslagen mellan orden inte bort med VBA TRIM -funktionen.

Vad är då alternativet?

Om du vill ta bort ledande, bakre och dubbla mellanslag mellan ord är det bättre att använda följande kod:

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

Ovanstående kod använder TRIM -funktionen för kalkylbladet (istället för att använda TRIM -funktionen i VBA).

Obs: VBA Trim -funktionen tar inte bort de icke -blankstegstecknen - till exempel nya rader (vbNewLine, vbCrLf) etc.

Exempel 2 - Ta snabbt bort ledande och bakre utrymmen från en rad celler

Anta att du har en datauppsättning som visas nedan där det finns ledande och bakre mellanslag:

Du kan använda koden nedan för att omedelbart rengöra dessa data och ta bort alla ledande och bakre utrymmen:

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

Ovanstående kod går igenom alla celler i urvalet och tar bort de ledande och bakre utrymmena.

Du kanske också gillar följande Excel/VBA -handledning:

  • 10 sätt att rengöra data i Excel.
  • Excel VBA delad funktion.
  • Excel VBA InStr -funktion.
  • VBA LCase -funktion.
  • VBA UCase -funktion.
  • Skapa en användardefinierad funktion (UDF) i Excel VBA.
wave wave wave wave wave