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:

VBA rimuove i numeri dalla stringa

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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *