Excel VBA TRIM -funktion (forklaret med eksempler)

Excel har allerede en TRIM -regnearksfunktion, som du kan bruge til at slippe af med ledende, efterfølgende og ekstra mellemrum mellem ord/strenge.

Der er også en TRIM -funktion i VBA (og den gør nøjagtig det samme - fjern ekstra mellemrum).

Hvorfor har vi også brug for en TRIM -funktion i VBA?

Fair spørgsmål!

Mens du kan arbejde med den indbyggede TRIM -funktion i Excel -regneark for at slippe af med mellemrum. i nogle tilfælde skal du muligvis gøre dette ved hjælp af VBA.

Dette kan være en del af en større kode.

Syntaks for VBA TRIM -funktionen

TRIM (streng)

'String' er det argument, der kan være en tekststreng eller en variabel, der indeholder en tekststreng.

Lad os lære at bruge VBA TRIM -funktionen med et par eksempler.

Eksempel 1 - Viser resultat i en meddelelsesboks

Antag, at du har følgende tekst i celle A1

Bemærk, at der er mellemrum før og efter sætningen.

Nedenstående kode ville tage denne sætning og vise resultatet efter trimning af de ekstra mellemrum

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

Der er en vigtig ting at vide, når man bruger TRIM -funktionen i VBA - den fjerner kun de førende og bageste mellemrum. Det fjerner ikke de ekstra mellemrum mellem ord (hvilket den indbyggede TRIM-funktion i regnearket gør).

Antag f.eks., At du har følgende tekst i celle A1 (med ekstra mellemrum mellem ord):

Hvis jeg bruger ovenstående VBA -kode, viser den en meddelelsesboks som vist herunder:

Som du kan se i meddelelsesfeltets resultat, fjernes de ekstra mellemrum mellem ord ikke af VBA TRIM -funktionen.

Så hvad er alternativet?

Hvis du vil fjerne ledende, efterfølgende, samt dobbelt mellemrum mellem ord, er det bedre at bruge følgende kode:

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

Ovenstående kode bruger regnearks TRIM -funktionen (i stedet for at bruge TRIM -funktionen i VBA).

Bemærk: VBA -trimfunktionen fjerner ikke ikke -mellemrumstegn - f.eks. Nye linjer (vbNewLine, vbCrLf) etc.

Eksempel 2 - Fjern hurtigt ledende og efterfølgende mellemrum fra en række celler

Antag, at du har et datasæt som vist herunder, hvor der er ledende og efterfølgende mellemrum:

Du kan bruge nedenstående kode til øjeblikkeligt at rense disse data og fjerne alle de førende og bageste mellemrum:

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

Ovenstående kode går gennem alle cellerne i markeringen og fjerner de førende og efterfølgende mellemrum.

Du kan også lide følgende Excel/VBA -selvstudier:

  • 10 måder at rense data i Excel.
  • Excel VBA -splitfunktion.
  • Excel VBA InStr -funktion.
  • VBA LCase -funktion.
  • VBA UCase -funktion.
  • Oprettelse af en brugerdefineret funktion (UDF) i Excel VBA.
wave wave wave wave wave