Vba: getallen uit een string verwijderen
U kunt de volgende functie in VBA maken om getallen uit een tekenreeks in een cel in Excel te verwijderen:
Function RemoveNumbers(CellText As String) As String
With CreateObject(" VBScript.RegExp ")
.Global = True
.Pattern = " [0-9] "
RemoveNumbers = .Replace(CellText, "")
End With
End Function
U kunt deze functie vervolgens gebruiken om getallen uit elke gewenste cel in Excel te verwijderen.
Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.
Voorbeeld: getallen uit een string verwijderen met VBA
Stel dat we de volgende lijst met werknemers-ID’s in Excel hebben:
Stel dat we de cijfers uit elke tekenreeks in de kolom Werknemer-ID willen verwijderen.
We kunnen hiervoor de volgende functie in VBA maken:
Function RemoveNumbers(CellText As String) As String
With CreateObject(" VBScript.RegExp ")
.Global = True
.Pattern = " [0-9] "
RemoveNumbers = .Replace(CellText, "")
End With
End Function
Nadat we deze functie hebben gemaakt, kunnen we de volgende formule in cel B2 typen om het werknemersnummer in cel A2 terug te geven, zonder alle cijfers:
=RemoveNumbers( A2 )
We kunnen vervolgens op deze formule klikken en deze naar elke resterende cel in kolom B slepen:
Kolom B toont elk van de tekenreeksen in kolom A, waarbij de cijfers zijn verwijderd.
Bijvoorbeeld:
- 4009Andy wordt Andy
- 1540Bob wordt Bob
- 1500Chad09 wordt Tsjaad
- 1600Doug wordt Doug
Enzovoort.
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