Quando si lavora con Excel, può capitare di avere dati contenenti sia caratteri alfanumerici (lettere e numeri) che non alfanumerici (simboli e caratteri speciali). Se desideri mantenere solo i caratteri alfanumerici, Excel offre alcuni strumenti per farlo in modo semplice e veloce. Ad esempio, data una stringa come “PALER-MO9123^%$#{}[]“, il risultato desiderato potrebbe essere “PALERMO9123“. In questa guida ti mostreremo due metodi per eliminare i caratteri non alfanumerici: uno con l’utilizzo del codice VBA e un altro con una funzione personalizzata (UDF).
Metodo 1: Rimuovere i caratteri non alfanumerici con VBA
Il primo metodo consiste nell’utilizzo di un breve codice VBA per rimuovere tutti i caratteri non alfanumerici dalle celle selezionate. Segui questi semplici passaggi:
- Premi
Alt
+F11
per aprire la finestra del Microsoft Visual Basic for Applications. - Vai su Inserisci > Modulo e incolla il seguente codice VBA:
Sub RimuoviNonAlfaNumerici()
Dim Rng As Range
Dim WorkRng As Range
Dim xOut As String
Dim xTemp As String
Dim i As Integer
On Error Resume Next
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Seleziona il range:", "Rimozione Caratteri", WorkRng.Address, Type:=8)
For Each Rng In WorkRng
xOut = ""
For i = 1 To Len(Rng.Value)
xTemp = Mid(Rng.Value, i, 1)
If xTemp Like "[A-Za-z0-9]" Then
xOut = xOut & xTemp
End If
Next i
Rng.Value = xOut
Next
End Sub
- Premi
F5
o fai clic su Esegui per avviare il codice. - Nella finestra di dialogo che si apre, seleziona l’intervallo di celle da cui desideri rimuovere i caratteri non alfanumerici e fai clic su OK.
Il codice VBA rimuoverà automaticamente tutti i caratteri non alfanumerici dalle celle selezionate.
Metodo 2: Utilizzare una funzione definita dall’utente (UDF)
In alternativa, puoi creare una funzione personalizzata in VBA che rimuove i caratteri non alfanumerici. Questo metodo è utile se desideri applicare questa operazione tramite una formula nelle celle del tuo foglio di lavoro.
- Premi
Alt
+F11
per aprire Microsoft Visual Basic for Applications. - Vai su Inserisci > Modulo e incolla il seguente codice:
Function RimuoviNonAlfaNumerici(xStr As String) As String
Dim xStrR As String
Dim xCh As String
Dim i As Integer
For i = 1 To Len(xStr)
xCh = Mid(xStr, i, 1)
If xCh Like "[A-Za-z0-9]" Then
xStrR = xStrR & xCh
End If
Next i
RimuoviNonAlfaNumerici = xStrR
End Function
Torna al foglio di lavoro e inserisci la seguente formula in una cella vuota:
=RimuoviNonAlfaNumerici(A1)
(Sostituisci A1
con la cella che contiene il testo da cui desideri rimuovere i caratteri non alfanumerici).
Trascina la maniglia di riempimento per applicare la formula ad altre celle, se necessario.
Questa funzione personalizzata rimuoverà tutti i caratteri non alfanumerici dalle celle specificate.
Con questi due metodi puoi rimuovere rapidamente i caratteri non alfanumerici in Excel. Il primo metodo utilizza una macro VBA per eseguire l’operazione in modo automatizzato su un intervallo di celle selezionato, mentre il secondo offre una funzione personalizzata che puoi applicare tramite una formula. Scegli il metodo che meglio si adatta alle tue esigenze e semplifica la gestione dei dati in Excel!
Non perderti altri trucchi e soluzioni pratiche per Excel! Iscriviti alla nostra newsletter e resta aggiornato con le ultime guide e tutorial.