Substring is een van de meest populaire functies in een programmeertaal. Het vergemakkelijkt uw taken bij het omgaan met strings. Zoals de naam al doet vermoeden een substring functie verdeelt een tekenreeks in verschillende delen op basis van bepaalde criteria.
Er zijn meerdere VBA Substring functies. In praktische situaties kunnen deze substring functies heel nuttig zijn bij het extraheren van een deel van een string.
Vandaag ga ik in dit bericht alle VBA substring functies uitleggen die u kunt gebruiken in Excel macro’s:
Inhoudsopgave
LEFT Substring functie:
De functie LINKS in Excel VBA wordt gebruikt voor het ophalen van een opgegeven aantal tekens vanaf het begin van de tekenreeks. De syntaxis van de functie LINKS is als volgt:
Links (text_string, lengte)
- Hierbij verwijst ’text_string’ naar een invoertekenreeks die moet worden gescheiden.
- En ‘lengte’ verwijst naar het aantal tekens dat moet worden opgehaald.
Voorbeelden:
Links ("Exceltrick", 5) 'geeft een uitvoer "Excel"
Links ("SomeText", 4) 'geeft het resultaat "Some"
Note: in plaats van een hardcoded string te gebruiken in het eerste argument kunt u ook ’text_string’ ophalen uit uw excel sheet zoals ActiveSheet.Range(“A1”).
Rechter Substring functie:
De RECHTER functie in Excel VBA is net het tegenovergestelde van de LINKS functie. Zij retourneert een opgegeven aantal tekens vanaf het einde van de tekstreeks. De syntaxis van de functie RIGHT is als volgt:
Right (text_string, length)
- Hier verwijst ’text_string’ naar een invoertekenreeks die moet worden gescheiden.
- En ‘length’ verwijst naar het aantal tekens dat moet worden geëxtraheerd, maar de extractie begint aan de rechterkant.
Voorbeeld:
Rechts ("Exceltrick", 5) 'geeft een uitvoer "truc"
Rechts ("SomeText", 4) 'geeft het resultaat "Tekst"
Note: in plaats van een hardcoded string in het eerste argument te gebruiken, kunt u ook ’text_string’ ophalen uit uw excel sheet als ActiveSheet.Range(“A1”).
MID Substring functie:
MID is een veel betere functie dan de eerste twee, het geeft je de mogelijkheid om de begin- en eindposities van de opgehaalde string op te geven. De syntaxis van de MID VBA Substring-functie is als volgt:
Mid(text_string, start_position, Length)
- Hiermee verwijst ’text_string’ naar een invoertekenreeks die moet worden gescheiden.
- ‘start_position’ verwijst naar de numerieke positie van waaruit de extractie moet worden gestart.
- En ‘length’ verwijst naar het aantal tekens dat moet worden geëxtraheerd.
Voorbeeld:
MID ("Exceltrick", 2,4) 'geeft een uitvoer "celt"
MID ("SomeText", 4,4) 'geeft het resultaat "Text"
Note: In plaats van een hardcoded string te gebruiken in het eerste argument kunt u ook ’text_string’ ophalen uit uw excel sheet als ActiveSheet.Range(“A1”).
SPLIT Substring functie:
De SPLIT-functie is een andere VBA-functie die kan worden gebruikt voor het substringing of splitsen van een string. De SPLIT functie kan erg handig zijn wanneer je een tekststring in meer dan een deel verdeelt op basis van een scheidingsteken. De syntaxis van een functie voor splitsen is als volgt:
Split (text_string, Delimiter, limit, Compare)
- Hierbij verwijst ’text_string’ naar een invoertekenreeks die moet worden gescheiden.
- ‘Delimiter’ verwijst naar het scheidingsteken dat de tekenreeks in delen scheidt. Dit is een optioneel argument; als het leeg wordt gelaten, wordt aangenomen dat het spatieteken ” ” het standaardscheidingsteken is.
- ‘limit’ verwijst naar het maximumaantal subring-delen waarin de string moet worden onderverdeeld. Het is ook een optioneel argument, de standaardwaarde is (-1), wat betekent dat de substring moet plaatsvinden op elke positie waar het scheidingsteken wordt aangetroffen.
- ‘compare’ is een optionele numerieke waarde die de vergelijking specificeert die moet worden gebruikt bij de evaluatie van subtekenreeksen.
Voorbeeld:
U hebt bijvoorbeeld een tekststring als “Dit is een tekststring” en nu moet u deze string in afzonderlijke woorden breken, dus in dit geval zult u spatie ” ” als scheidingsteken gebruiken. De functie splitsen wordt gebruikt als:
Split ("Dit is een tekststring", " ")
Het resultaat van deze splitsingsfunctie is een matrix van woorden: “Dit” “is” “een” “tekst” “string”.
Aanbevolen lectuur: VBA Split Functie
VBA Substring Macro Voorbeeld:
Hieronder heb ik een macro gemaakt die alle substring technieken illustreert die beschikbaar zijn in VBA programmeren. Dit is een eenvoudige en voor zichzelf sprekende macro, hierin heb ik eenvoudig een tekststring gesplitst met de 4 methoden die ik hierboven heb beschreven.
Hieronder staat de code die ik voor deze macro heb gebruikt:
Sub BreakStrings()
'Linker functie
a = Links("Excel Truc Tekst", 5)
'Rechter functie
b = Rechts("Excel Truc Tekst", 11)
'Midden functie
c = Midden("Excel Truc Tekst", 1, 11)
'Split functie
d = Split("Excel Truc Tekst", " ")
Voor elk wrd in d
strg = strg & wrd & ", "
Volgende
'De resultaten weergeven in een berichtenbox
MsgBox "Links: " & a & vbNewLine & "Rechts: " & b & vbNewLine & "Midden: " & c & vbNewLine & "Splitsen: " & strg
End Sub
Zo, dit was alles over VBA substring functies. Deel uw mening over dit onderwerp.