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:

VBA verwijdert getallen uit de tekenreeks

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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert