wijzig taal:

In Excel kan met de functie SPATIES.WISSEN (Engels: TRIM) de spaties van een tekst in een cel gewist worden. In VBA bestaat ook de Trim-functie, maar die werkt net even wat anders en die geeft in een aantal situaties ook andere resultaten.

Als voorbeeld nemen we de tekst:

"     Jan    Piet      "

geeft als resultaat:

"Jan Piet"

Het resultaat van de VBA-functie:

Trim("     Jan    Piet      ")

is echter:

"Jan    Piet"

Het verschil is dat bij de Excel-functies SPATIES.WISSEN ook de overtollige spaties tussen de woorden worden verwijderd, terwijl bij de VBA-functie alleen de spaties aan het begin en aan het eind worden weggehaald. Om met VBA hetzelfde effect te krijgen als SPATIES.WISSEN kan gebruikt gemaakt worden van:

Application.Trim("     Jan    Piet      ")

Wanneer niet in een Excel omgeving wordt gewerkt, kan als alternatief de volgende code gebruikt worden:

Replace(Replace(Replace(Trim("     Jan    Piet      "), " ", " ~"), "~ ", ""), " ~", " ")

In VBA bestaan naast Trim ook nog de LTrim en RTrim-functies, waarbij alleen de spaties aan de linker of aan de rechterzijde worden verwijderd.

Formules voor de VBA Trim-functies

Voor de VBA-functies Trim, LTrim en RTrim bestaan in Excel geen standaard functies die exact hetzelfde resultaat geven. De volgende formules kunnen hiervoor gebruikt worden, waarbij de zin met spaties in cel A1 staat:

Voor LTrim:

=DEEL(A1;VIND.SPEC(LINKS(SPATIES.WISSEN(A1);1);A1);LENGTE(A1))

Voor RTrim:

=LINKS(A1;MAX(INDEX((DEEL(A1;RIJ(INDIRECT("1:"&LENGTE(A1)));1)<>" ")*RIJ(INDIRECT("1:"&LENGTE(A1)));)))

En voor de VBA Trim-functie is dat een combinatie van beide bovengenoemde formules:

=DEEL(A1;VIND.SPEC(LINKS(SPATIES.WISSEN(A1);1);A1);MAX(INDEX((DEEL(A1;RIJ(INDIRECT("1:"&LENGTE(A1)));1)<>" ")*RIJ(INDIRECT("1:"&LENGTE(A1)));))-VIND.SPEC(LINKS(SPATIES.WISSEN(A1);1);A1)+1)

Met deze laatste formule worden dus alleen de spaties aan het begin en aan het eind verwijderd en blijven alle tussenliggende spaties behouden.

Plaats reactie
Door het plaatsen van een commentaar verklaart u bekend te zijn en akkoord te gaan met de privacy verklaring van worksheetsvba.com.


arrow_up