Vba: tekst tussen twee tekens extraheren
U kunt de volgende aangepaste functie in VBA maken om tekst tussen twee specifieke tekens te extraheren:
Function ExtractBetween(this_text, start_char, end_char) StartPosition = InStr(this_text, start_char) EndPosition = InStr(this_text, end_char) ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1) End Function
U kunt deze functie vervolgens gebruiken om de tekst tussen twee specifieke tekens te extraheren naar een specifiek teken in Excel.
Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.
Voorbeeld: VBA gebruiken om tekst tussen twee tekens te extraheren
Stel dat we de volgende dataset in Excel hebben met daarin de ID-waarden en de totale omzet van verschillende producten in een bedrijf:
Stel dat we VBA willen gebruiken om de tekst tussen haakjes voor elke cel in kolom A te extraheren en de resultaten in kolom C te retourneren.
We kunnen hiervoor de volgende functie maken:
Function ExtractBetween(this_text, start_char, end_char) StartPosition = InStr(this_text, start_char) EndPosition = InStr(this_text, end_char) ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1) End Function
We kunnen vervolgens de volgende formule in cel C2 typen om de tekst tussen haakjes te extraheren voor de tekst in cel A2 :
=ExtractBetween( A2 , "(", ")")
We kunnen vervolgens op deze formule klikken en deze naar elke resterende cel in kolom C slepen:
In kolom C wordt nu de tekst tussen haakjes weergegeven voor elke overeenkomende cel in kolom A.
Opmerking : deze formule werkt door de functie Instr in VBA te gebruiken om de positie van specifieke begin- en eindtekens te extraheren, en vervolgens de functie Mid te gebruiken om alle tekst tussen die twee tekens terug te geven.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken kunt uitvoeren met VBA:
VBA: het aantal tekens in een string tellen
VBA: hoe controleer je of een string een andere string bevat?
VBA: cellen tellen met specifieke tekst