Vai al contenuto principale

Come impedire che caratteri speciali entrino in Excel?

In alcuni casi, vogliamo solo inserire lettere o numeri nelle celle e impedire la digitazione dei caratteri speciali, come @ # $% & e così via. Esistono funzioni in Excel per impedire l'immissione di caratteri speciali quando inseriamo valori?

Impedisci l'immissione di caratteri speciali con la convalida dei dati

Impedisci l'inserimento di caratteri speciali con il codice VBA

Impedisci l'inserimento di caratteri speciali con Kutools per Excel buona idea 3


Impedisci l'immissione di caratteri speciali con la convalida dei dati

La convalida dei dati di Excel può aiutarti a consentire solo di inserire i valori alfanumerici. Si prega di fare quanto segue:

1. Selezionare un intervallo in cui si desidera impedire l'immissione di caratteri speciali.

2. Quindi fare clic Dati > Convalida dati > Convalida dati, vedi screenshot:

doc-prevent-caratteri-1

3. Nel Convalida dati finestra di dialogo, fare clic Impostazioni profilo scheda e scegliere Custom dal Consentire elenco a discesa, quindi immettere questa formula =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))) nella Formula casella di testo, vedi screenshot:

Nota:A1 indica la prima cella dell'intervallo selezionato (da sinistra a destra).

doc-prevent-caratteri-1

4. Quindi fare clic OK per chiudere questa finestra di dialogo, e ora quando inserisci valori che contengono i caratteri speciali nella colonna specificata hai applicato l'opzione, riceverai il seguente messaggio di avviso.

doc-prevent-caratteri-1


Impedisci l'inserimento di caratteri speciali con il codice VBA

Il seguente codice VBA può anche aiutarti a prevenire i caratteri speciali durante l'immissione dei valori di testo.

1. Tieni premuto il ALT + F11 chiavi e apre il file Finestra di Microsoft Visual Basic, Applications Edition.

2. Quindi scegli il foglio di lavoro usato da sinistra Esplora progetti, fare doppio clic per aprire il file Moduli, quindi copia e incolla il codice VBA nello spazio vuoto Moduli:

Codice VBA: impedisce l'inserimento di caratteri speciali in Excel

Private Const FCheckRgAddress As String = "A1:A100"
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140905
    Dim xChanged As Range
    Dim xRg As Range
    Dim xString As String
    Dim sErrors As String
    Dim xRegExp As Variant
    Dim xHasErr As Boolean
    Set xChanged = Application.Intersect(Range(FCheckRgAddress), Target)
    If xChanged Is Nothing Then Exit Sub
    Set xRegExp = CreateObject("VBScript.RegExp")
    xRegExp.Global = True
    xRegExp.IgnoreCase = True
    xRegExp.Pattern = "[^0-9a-z]"
    For Each xRg In xChanged
        If xRegExp.Test(xRg.Value) Then
            xHasErr = True
            Application.EnableEvents = False
            xRg.ClearContents
            Application.EnableEvents = True
        End If
    Next
    If xHasErr Then MsgBox "These cells had invalid entries and have been cleared:"
End Sub

doc-prevent-caratteri-1

Note:: Nel codice sopra, puoi cambiare l'intervallo LA1: LA100 of Const privato FCheckRgAddress As String = "A1: A100" script al tuo intervallo che desideri impedire i caratteri speciali.

3. Quindi salva e chiudi questo codice e ora, quando inserisci valori di testo con alcuni caratteri speciali nell'intervallo A1: A100, il tuo valore verrà cancellato immediatamente e potrai ricevere il seguente messaggio di avviso.

doc-prevent-caratteri-1


Impedisci l'inserimento di caratteri speciali con Kutools per Excel

In realtà, se l'hai fatto Kutools for Excel - uno strumento pratico e multifunzionale, puoi impedire rapidamente di digitare caratteri speciali in una selezione con il suo Impedisci digitazione utilità da un controllo.

Kutools for Excel, con oltre 300 funzioni utili, rende il tuo lavoro più facile. 

Dopo l'installazione Kutools per Excel, fai come di seguito :(Scarica gratuitamente Kutools per Excel adesso!)

1. Selezionare una selezione a cui si desidera impedire la digitazione di caratteri speciali e fare clic Kutools > Impedisci digitazione > Impedisci digitazione. Vedi screenshot:
doc impedisce caratteri 10

2. Nel Impedisci digitazione dialogo, controlla Impedisci di digitare caratteri speciali opzione. Vedi screenshot:
doc impedisce caratteri 7

3. Clic Oke viene visualizzata una finestra di dialogo per ricordarti che rimuoverà la convalida dei dati se applichi questa utility e fai clic su per passare alla finestra di dialogo successiva, ti ricorderà che l'utilità è stata lavorata nella sezione. vedi screenshot:
doc impedisce caratteri 8

4. Clic OK per chiudere la finestra di dialogo e, d'ora in poi, viene visualizzata una finestra di dialogo di avviso quando si tenta di immettere un carattere speciale nella selezione.
doc impedisce caratteri 9

Tipo.Se vuoi smettere di digitare valori duplicati in una colonna, prova a utilizzare Kutools per Excel Impedisci duplicati come mostrato nello screenshot seguente. È completamente funzionante senza limitazioni in 30 giorni, si prega di scaricare e avere una prova gratuita ora.

doc impedisce duplicati doc kutools impedisce la digitazione 2


Articoli correlati:

Come impedire l'immissione di valori con spazi in Excel?

Come evitare voci duplicate in una colonna in Excel?

I migliori strumenti per la produttività in ufficio

🤖 Assistente AI di Kutools: Rivoluziona l'analisi dei dati basandosi su: Esecuzione intelligente   |  Genera codice  |  Crea formule personalizzate  |  Analizzare i dati e generare grafici  |  Richiama le funzioni di Kutools...
Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi, ...)   |   50+ Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Strumenti (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Strumenti (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...

Descrizione


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
Comments (12)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Pessoal, segue formul em portugês com a quantidade de caracteres limitada a 7:

=E(ÉNÚM(SOMARPRODUTO(LOCALIZAR(EXT.TEXTO(A1;LIN(INDIRETO("1:"&NÚM.CARACT(A1)));1);"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ ")));NÚM.CARACT(A1)<8)
This comment was minimized by the moderator on the site
Excelente solucion. como agregas las comillas (") para que sean admitidas?
This comment was minimized by the moderator on the site
Hello herber,

Glad to help. Using the first method, you can use this formula in data validation:
=ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"&CHAR(34))))

The CHAR function takes the ASCII value and returns the corresponding character value. The ASCII value for a double quote is 34. So a double quote will be allowed. Please have a try.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
How to repeat this in other columns?
This comment was minimized by the moderator on the site
When I use your VBA code in excel 2013 it will open up debug option and freezes
This comment was minimized by the moderator on the site
Hi, WilY, if it pops out a dialog as below screenshot shown, just click Yes then OK to enable the code. This issue appears in Excel 2016, too.
This comment was minimized by the moderator on the site
What if i need to prevent in a single cell typing certain characters in combination with length of the text?

For example, i want to prevent the text to be between 5-16 caharacters in comination with certain character prevention? Any advice?
This comment was minimized by the moderator on the site
Maybe you can try the Data Validation function to limit the text length. See screenshot:
This comment was minimized by the moderator on the site
The solution with Data Validation is almost perfect. But I'm able to put "*" character the such protected field. Any advice? Many thanks Pavel
This comment was minimized by the moderator on the site
Instead of SEARCH function try using FIND: =ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")))
This comment was minimized by the moderator on the site
how to set length limit ? i mean if i want to set only 12 character or number
This comment was minimized by the moderator on the site
Hello, raj,
To solve your problem, please apply the below formula:
=AND(ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))),LEN(A1)=12)


Please have a try, hope it can help you!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations