VBA-TRIM

Excel VBA TRIM-functie

VBA TRIM is gecategoriseerd onder de tekenreeks- en tekstfuncties, deze functie is een werkbladfunctie in VBA en vergelijkbaar met de werkbladverwijzing wordt deze functie gebruikt om de ongewenste spaties uit een tekenreeks bij te snijden of te verwijderen, er is een enkel argument nodig dat een invoertekenreeks is en retourneert een uitvoer als een tekenreeks.

Er zijn verschillende situaties waarin we de gegevens downloaden van online servers en we worden geconfronteerd met een situatie van ongeorganiseerde gegevens en ongewenste ruimtes in de cel. Omgaan met onnodige ruimtes is erg pijnlijk om mee te werken. In normale werkbladfuncties hebben we een functie genaamd TRIM in Excel om "Leading Spaces, Trailing Spaces en tussenliggende ruimtes" te verwijderen . In VBA hebben we ook een functie genaamd TRIM die precies hetzelfde werkt als de Excel-functie, maar er is slechts één klein verschil, dat zullen we later in dit artikel zien.

Wat doet de trimfunctie?

TRIM is een tekenreeksfunctie die spaties in Excel verwijdert uit de geselecteerde cel. In ruimtes hebben we 3 typen "Voorloopruimten, Trailing Spaces en tussenruimten" .

Voorloopruimte is niets anders dan voordat een waarde in de cel begint, als er een spatie is, wordt dit Voorloopruimte genoemd .

Trailing Space is niets anders dan na het einde van de waarde in de cel als er enige spatie is, dan wordt dit de Trailing Space genoemd.

In-Between Space is niets na het einde van elk woord, idealiter zouden we één spatie moeten hebben, iets meer dan één spatie wordt In-Between Space genoemd.

Om al dit soort problemen op te lossen, hebben we een functie genaamd TRIM.

Syntaxis

String: Wat is de string of waarde die u wilt bijsnijden? Het kan zowel een celverwijzing zijn als een directe toevoer van waarde aan de formule.

Voorbeelden

U kunt deze VBA TRIM-functiesjabloon hier downloaden - VBA TRIM-functiesjabloon

Voorbeeld 1

Nu zullen we zien hoe u voorloopspaties in Excel kunt verwijderen met behulp van de TRIM-functie. Volg onderstaande stappen

Stap 1: Maak een macronaam en declareer een variabele als String.

Code:

 Sub Trim_Example1 () Dim k As String End Sub 

Stap 2: Wijs nu aan deze gedeclareerde variabele een waarde toe met behulp van de TRIM.

Code:

 Sub Trim_Example1 () Dim k As String k = Trim (End Sub 

Stap 3: Typ voor deze string het woord tussen dubbele aanhalingstekens als "Welkom bij VBA".

Code:

 Sub Trim_Example1 () Dim k As String k = Trim ("Welkom bij VBA") End Sub 

Stap 4: Toon nu het resultaat van deze variabele in het berichtvenster.

Code:

 Sub Trim_Example1 () Dim k As String k = Trim ("Welcome to VBA") MsgBox k End Sub 

Stap 5: Voer deze code uit met de F5-toets of voer het handmatig uit. We zouden een juiste string in het berichtvenster moeten krijgen.

Uitgang:

Dus de TRIM-functie heeft alle voorloopspaties verwijderd die we hebben ingevoerd in de tekenreekswaarde. Nu is het resultaat een correcte zin, namelijk "Welkom bij VBA" .

Voorbeeld # 2

Bekijk nu nog een voorbeeld om volgspaties te verwijderen. Neem hetzelfde woord maar voer deze keer spaties in.

"Welkom bij VBA".

Code:

 Sub Trim_Example2 () Dim k As String k = Trim ("Welcome to VBA") MsgBox k End Sub 

Voer deze code handmatig uit of via de F5-toets Trim-functie verwijdert ook volgspaties.

Uitgang:

Voorbeeld # 3 - Maak de gegevens in cellen schoon

Nu zullen we het praktische voorbeeld zien van het opschonen van de gegevens in Excel-cellen. Stel dat u een dataset zoals hieronder heeft in uw Excel-sheet.

Als we meer dan één celgegevens hebben, moeten we verschillende codes schrijven. Volg de onderstaande stappen om code te schrijven.

Stap 1: Declareer een variabele als "Bereik".

Code:

 Sub Trim_Example3 () Dim MyRange As Range End Sub 

Stap 2: Aangezien het gegevenstype bereik een object is, moeten we eerst het bereik instellen. Stel het bereik dus in op "selectie".

Code:

 Sub Trim_Example3 () Dim MyRange As Range Set MyRange = Selectie End Sub 

Opmerking: MyRange = Selection betekent dat wat de cellen die ik selecteer, een bereik wordt. Dus in dat bereik verwijdert TRIM ongewenste spaties.

Stap 3: Gebruik nu For Each VBA Loop om de TRIM-functie toe te passen.

Code:

 Sub Trim_Example3 () Dim MyRange As Range Set MyRange = Selectie voor elke cel in MyRange cell.Value = Trim (cel) Volgende einde Sub 

Step 4: Now go back to the worksheet. Go to insert and draw a rectangular shape.

Step 5: Add a word to the inserted rectangular shape as click here to clean the data.

Step 6: Right-click on the rectangular shape and select the assign macro.

Step 7: Now the macro names box will open. Select the name of the macro we just created. Click on Ok.

 

Step 8: Now select the range where we need to clean the data.

Step 9: After selecting the range click on the assigned macro rectangular box. It will clean the data.

So we got cleaned value i.e. after removing leading & trailing spaces.

Difference Between Excel & VBA Trim Function

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.