Come rimuovere i caratteri non inglesi in una colonna di Excel?
La gestione dei dati in Excel richiede spesso di pulire il testo, specialmente quando si lavora con elenchi che potrebbero includere caratteri indesiderati o inconsistenti. Ad esempio, potresti avere una colonna di nomi o voci in cui alcune celle contengono caratteri non inglesi – come lettere accentate, simboli speciali o caratteri stranieri – che devi rimuovere per soddisfare i requisiti di consistenza dei dati o per ulteriori elaborazioni.
Rimuovere manualmente tali caratteri può essere molto dispendioso in termini di tempo e soggetto a errori, specialmente quando si gestiscono grandi set di dati. Per risolvere questo problema in modo efficiente, Excel offre diversi approcci: puoi utilizzare script VBA per eliminare automaticamente le righe contenenti qualsiasi carattere non inglese, oppure puoi pulire i dati sul posto rimuovendo i caratteri non inglesi dal testo mantenendo intatta la struttura dei dati. Qui introduciamo due soluzioni pratiche per aiutarti a gestire questi scenari.
Rimuovi le righe contenenti caratteri non inglesi tramite VBA
Rimuovi caratteri non inglesi dalle stringhe utilizzando Kutools per Excel
Rimuovi caratteri non inglesi utilizzando una formula di Excel
Rimuovi caratteri non inglesi dal testo delle celle utilizzando VBA
Rimuovi le righe contenenti caratteri non inglesi tramite VBA
Se hai bisogno di rimuovere completamente tutte le righe che contengono caratteri non inglesi da una particolare colonna di Excel, utilizzando uno script VBA puoi automatizzare questo processo. Questo approccio è particolarmente adatto quando vuoi assicurarti che solo le celle con caratteri alfabetici inglesi standard rimangano, e qualsiasi cella con caratteri stranieri o simboli speciali comporterà l'eliminazione dell'intera riga. Questo metodo è particolarmente utile per preparare set di dati puliti per l'importazione in sistemi che accettano solo caratteri inglesi standard.
Tuttavia, tieni presente la limitazione che questo metodo mira una sola colonna alla volta; devi eseguire lo script separatamente per ogni colonna se desideri applicarlo altrove. Inoltre, una volta eseguito, le righe eliminate non possono essere recuperate a meno che tu non abbia creato un backup o possa utilizzare la funzione Annulla.
Ecco una guida passo-passo:
1. Apri la tua cartella di lavoro di Excel, attiva il foglio di lavoro contenente la colonna che desideri elaborare e premi Alt + F11 per aprire la finestra Microsoft Visual Basic for Applications. Questo ti permette di accedere all'ambiente di programmazione VBA integrato in Excel.
2. Nell'editor VBA, clicca su Inserisci > Modulo per creare un nuovo modulo, quindi copia e incolla il seguente codice VBA nella finestra del codice che appare:
VBA: Rimuovi caratteri non inglesi
Sub RemoveNonEnglish()
'UpdatebyExtendoffice20171204
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim xRows As Long
Dim xAsc As Long
On Error Resume Next
Set xRg = Application.InputBox("Select single column:", "KuTools For Excel", Selection.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
xRows = xRg.Rows.Count
Set xRg = xRg(1)
For I = 1 To xRows
Set xCell = xRg.Offset(I - 1)
If xCell.Value <> "" Then
For J = 1 To Len(xCell.Value)
xAsc = Asc(UCase(Mid(xCell.Value, J, 1)))
If xAsc < 65 Or xAsc > 90 Then
xCell.EntireRow.Delete
I = I - 1
Exit For
End If
Next
End If
Next
Application.ScreenUpdating = True
MsgBox "Completed...", vbInformation
End Sub
3. Premi F5 o clicca sul pulsante Esegui per eseguire il codice. Apparirà una finestra di dialogo che ti chiederà di "Seleziona una singola colonna". Usa il mouse per selezionare la colonna che desideri elaborare nel tuo foglio di lavoro, quindi clicca OK.
4. Conferma la tua selezione cliccando OK nelle finestre di dialogo successive. Lo script controllerà quindi ogni cella della colonna selezionata. Se rileva qualsiasi carattere che non sia una lettera inglese maiuscola o minuscola (A-Z), eliminerà l'intera riga contenente quella cella. Al termine, vedrai un messaggio che ti informa che il processo è finito.
![]() | ![]() | ![]() |
Nota: Questo script VBA funziona solo per una selezione di una singola colonna alla volta. Si consiglia di salvare la cartella di lavoro prima di eseguire il codice, poiché le righe eliminate non possono essere ripristinate dopo l'operazione. Se i tuoi dati sono grandi o contengono formattazioni speciali, è fortemente consigliabile creare un backup prima.
Consigli per la risoluzione dei problemi: Se vedi un messaggio di errore o nulla sembra accadere, verifica di aver selezionato una colonna valida e solo una colonna (non un intervallo che si estende su più colonne). VBA deve essere abilitato affinché questo script possa funzionare. Se l'editor VBA è bloccato o limitato nel tuo ambiente, considera di abilitare le autorizzazioni o utilizzare un metodo alternativo.
Applicabilità: Questo approccio è ideale se vuoi assicurarti che i tuoi dati includano solo voci con sole lettere inglesi e non hai bisogno di conservare righe contenenti caratteri speciali o in lingue straniere. Tuttavia, se il tuo scopo è quello di mantenere i dati mentre semplicemente rimuovi i caratteri non inglesi – ma non elimini intere righe – considera l'uso della soluzione Kutools o altri metodi descritti di seguito.
Rimuovi caratteri non inglesi dalle stringhe utilizzando Kutools per Excel
Se desideri pulire il testo rimuovendo i caratteri non inglesi all'interno delle celle – senza eliminare alcuna riga – la funzione Rimuovi Caratteri in Kutools per Excel offre una soluzione rapida e pratica. Questo è adatto per scenari in cui vuoi mantenere la struttura generale dei dati ma rimuovere qualsiasi carattere speciale, accentato o in lingua straniera all'interno delle stringhe, lasciando visibili solo lettere inglesi standard.
Ad esempio, questo approccio è ideale per standardizzare nomi, codici prodotto o qualsiasi voce alfanumerica che potrebbe essere stata inserita in modo errato o copiata da fonti esterne, risultando nella presenza di vari simboli o caratteri non inglesi. Rispetto alla pulizia manuale, riduce il rischio di perdere caratteri indesiderati e velocizza il processo.
![]() | ![]() | ![]() |
1. Seleziona l'intervallo contenente le stringhe di testo che desideri pulire, quindi vai alla scheda Kutools nella barra multifunzione di Excel, clicca su Testo, e scegli Rimuovi Caratteri dal menu a discesa. Consulta lo screenshot sottostante per riferimento:
2. Nella finestra di dialogo Rimuovi Caratteri che appare, seleziona l'opzione per Non-alfabetici (che mira a caratteri non alfabetici, inclusi cifre, punteggiatura e simboli speciali o non inglesi). Il riquadro Anteprima si aggiorna automaticamente per mostrarti come apparirà il testo dopo la rimozione dei caratteri non inglesi e speciali.
3. Dopo aver confermato che l'anteprima soddisfa le tue aspettative, clicca OK. Tutti i caratteri non inglesi (cioè, tutto ciò che non è una lettera inglese standard) verranno immediatamente rimossi dall'intervallo selezionato, mentre il resto dei tuoi dati rimarrà intatto.
Kutools per Excel - Potenzia Excel con oltre 300 strumenti essenziali. Goditi funzionalità AI gratuite per sempre! Ottienilo ora
Se hai frequentemente bisogno di pulire il testo in Excel, l'approccio Kutools fornisce un'interfaccia utente visiva e user-friendly ed elabora efficacemente grandi intervalli di dati in pochi clic. Offre anche supporto per annullare le modifiche, quindi puoi rapidamente ripristinare le modifiche se i risultati non soddisfano le tue esigenze.
Suggerimenti e precauzioni: L'opzione 'Non-alfabetici' rimuoverà anche eventuali numeri o segni di punteggiatura speciali nel testo. Se hai bisogno di mantenere numeri o altri caratteri specifici, sperimenta con diverse caselle di controllo nel dialogo fino a ottenere il risultato desiderato. Controlla sempre il riquadro Anteprima per confermare l'effetto prima di premere OK.
Confronto: Questo metodo è più flessibile della cancellazione di righe tramite VBA in quanto rimuove solo i caratteri indesiderati, non l'intera riga, quindi è meno distruttivo e più sicuro nel caso ci sia il rischio di perdere informazioni importanti legate a ciascuna riga.
Rimuovi caratteri non inglesi utilizzando una formula di Excel
Se non hai accesso a Kutools o preferisci non utilizzare VBA, puoi anche usare una formula di Excel per rimuovere i caratteri non inglesi (cioè, tutto ciò che non è una lettera dell'alfabeto inglese) dal testo in una cella. Questo approccio è adatto per situazioni in cui desideri una soluzione non distruttiva basata su formule che può essere applicata a ogni riga e copiata facilmente in altre celle.
1. Inserisci la seguente formula matrice nella prima cella della colonna di output (ad esempio, B1 se i tuoi dati originali sono nella colonna A):
=TEXTJOIN("",TRUE,IF((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>=65)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<=90)+(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>=97)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<=122),MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),""))
Questa formula controlla ogni carattere nella cella A1, lo mantiene solo se è una lettera maiuscola (A-Z) o minuscola (a-z) inglese, e unisce il risultato in una stringa pulita.
2. Dopo aver digitato questa formula, premi Ctrl+Shift+Invio (per le versioni di Excel precedenti a Office 365; in Office 365 e successivi, puoi semplicemente premere Invio). Copia la formula per tutte le righe pertinenti trascinando la maniglia di riempimento o facendo doppio clic nell'angolo in basso a destra della cella.
Spiegazione dei parametri: Questa formula utilizza MID, CODICE (che restituisce il valore ASCII), INDIRETTO e RIF.RIGA per elaborare ogni carattere nella cella target. Solo le lettere a-z o A-Z vengono conservate.
Precauzioni: Questo approccio non altera i dati originali; gli output sono i risultati della formula nella colonna di destinazione. Se hai bisogno di valori fissi e statici, copia i risultati e usa Incolla Valori per sovrascrivere le formule.
Limitazioni: La lunghezza del testo influisce sulle prestazioni della formula. Questo metodo potrebbe non gestire correttamente i grafemi Unicode multi-carattere, quindi alcuni caratteri visivamente non inglesi potrebbero rimanere se rappresentati da sequenze Unicode composite.
Rimuovi caratteri non inglesi dal testo delle celle utilizzando VBA
Se vuoi rimuovere i caratteri non inglesi all'interno del testo delle celle (senza eliminare intere righe), puoi anche utilizzare VBA per un'automazione più personalizzabile. Questo è pratico per attività di pulizia dei dati che devono essere eseguite frequentemente, e dove i componenti aggiuntivi non sono un'opzione.
1. Apri Excel, quindi premi Alt + F11 per avviare l'editor Microsoft Visual Basic for Applications. Vai su Inserisci > Modulo e incolla il seguente codice nella finestra del modulo:
Sub RemoveNonEnglishCharactersFromCells()
' Remove non-English characters, keep only a-z, A-Z
Dim rng As Range
Dim cell As Range
Dim i As Long
Dim ch As String
Dim output As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set rng = Application.InputBox("Select range to clean (cells will be altered):", xTitleId, rng.Address, Type:=8)
If rng Is Nothing Then Exit Sub
Application.ScreenUpdating = False
For Each cell In rng
output = ""
For i = 1 To Len(cell.Value)
ch = Mid(cell.Value, i, 1)
If (Asc(ch) >= 65 And Asc(ch) <= 90) Or (Asc(ch) >= 97 And Asc(ch) <= 122) Then
output = output & ch
End If
Next i
cell.Value = output
Next cell
Application.ScreenUpdating = True
MsgBox "Cleanup complete.", vbInformation
End Sub
2. Torna a Excel, seleziona l'intervallo che desideri pulire, torna all'editor VBA ed esegui il codice premendo F5 o cliccando il Esegui pulsante. Quando richiesto, seleziona l'intervallo da elaborare e conferma.
Effetti: Questo codice elabora ogni cella selezionata, rimuove qualsiasi carattere che non è una lettera inglese standard e aggiorna la cella con il risultato pulito. I dati originali verranno sovrascritti, quindi è prudente fare un backup del foglio o lavorare su una copia.
Kutools per Excel - Potenzia Excel con oltre 300 strumenti essenziali. Goditi funzionalità AI gratuite per sempre! Ottienilo ora
Demo: Rimuovi caratteri non inglesi dalle stringhe utilizzando Kutools per Excel
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e farti risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta le schede su Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra invece che in nuove finestre.
- Aumenta la produttività del50% e riduce centinaia di clic del mouse ogni giorno!
Tutti gli add-in Kutools. Un solo programma di installazione
La suite Kutools for Office include add-in per Excel, Word, Outlook & PowerPoint più Office Tab Pro, ideale per i team che lavorano su più app di Office.





- Suite tutto-in-uno — Add-in per Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Un solo programma di installazione, una sola licenza — configurazione in pochi minuti (pronto per MSI)
- Funzionano meglio insieme — produttività ottimizzata su tutte le app Office
- Prova completa30 giorni — nessuna registrazione, nessuna carta di credito
- Massimo risparmio — costa meno rispetto all’acquisto singolo degli add-in