Come rimuovere i caratteri non alfanumerici in Excel

Metodi semplici ed efficaci per eliminare rapidamente simboli e caratteri speciali dai tuoi fogli di calcolo Excel utilizzando VBA o funzioni personalizzate

Immagine di un'interfaccia Excel moderna con celle evidenziate contenenti lettere e caratteri speciali

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:

  1. Premi Alt + F11 per aprire la finestra del Microsoft Visual Basic for Applications.
  2. Vai su Inserisci > Modulo e incolla il seguente codice VBA:
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
  1. Premi F5 o fai clic su Esegui per avviare il codice.
  2. 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.

  1. Premi Alt + F11 per aprire Microsoft Visual Basic for Applications.
  2. Vai su Inserisci > Modulo e incolla il seguente codice:
VBA
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:

VB
=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.

0 0 voti
Vota l'articolo
Informazioni su Luigi Randisi 57 Articoli
Nato in una piccola città, il mio interesse precoce per tecnologia e informatica ha segnato trent'anni di carriera. Dalla prima esperienza con un computer, ho dedicato la vita a sviluppare competenze, conseguendo titoli come Operatore Windows e Tecnico di Reti Informatiche. Padroneggiando il Visual Basic e approfondendo la logica di programmazione, ho ampliato la mia expertise. Nel settore dell'istruzione, come Tecnico Informatico, ho applicato conoscenze per supportare l'ambiente educativo e gestire le risorse informatiche. Sempre aggiornato sulle ultime tendenze, l'informatica è più di una professione, è la mia passione. Guardo avanti con entusiasmo, pronto ad affrontare le sfide del futuro.
Iscriviti
Notificami
guest

0 Commenti
Più vecchio
Più recente I più votati
Feedback in linea
Visualizza tutti i commenti