Vba: come rimuovere numeri da una stringa
È possibile creare la seguente funzione in VBA per rimuovere numeri da una stringa in una cella in Excel:
Function RemoveNumbers(CellText As String) As String
With CreateObject(" VBScript.RegExp ")
.Global = True
.Pattern = " [0-9] "
RemoveNumbers = .Replace(CellText, "")
End With
End Function
È quindi possibile utilizzare questa funzione per rimuovere numeri da qualsiasi cella desiderata in Excel.
L’esempio seguente mostra come utilizzare questa funzione nella pratica.
Esempio: rimuovere numeri da una stringa utilizzando VBA
Supponiamo di avere il seguente elenco di ID dipendente in Excel:
Diciamo che vogliamo rimuovere le cifre da ogni stringa nella colonna ID dipendente .
Per fare ciò possiamo creare la seguente funzione in VBA:
Function RemoveNumbers(CellText As String) As String
With CreateObject(" VBScript.RegExp ")
.Global = True
.Pattern = " [0-9] "
RemoveNumbers = .Replace(CellText, "")
End With
End Function
Una volta creata questa funzione, possiamo digitare la seguente formula nella cella B2 per restituire il numero del dipendente nella cella A2 con tutte le cifre rimosse:
=RemoveNumbers( A2 )
Possiamo quindi fare clic e trascinare questa formula su ciascuna cella rimanente nella colonna B:
La colonna B visualizza ciascuna delle stringhe nella colonna A con le cifre rimosse.
Per esempio:
- 4009Andy diventa Andy
- 1540 Bob diventa Bob
- 1500Ciad09 diventa Ciad
- 1600Doug diventa Doug
E così via.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni utilizzando VBA:
VBA: come contare le occorrenze di caratteri in una stringa
VBA: come verificare se una stringa contiene un’altra stringa
VBA: come contare le celle con testo specifico