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
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.