Note: The other languages of the website are Google-translated. Back to English

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 Modulo, quindi copia e incolla il codice VBA nello spazio vuoto Modulo:

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, per favore fai come di seguito :(Scarica subito Kutools per Excel!)

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. È piena funzionalità 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

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il 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!
fondo officetab
Commenti (12)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
La soluzione con la convalida dei dati è quasi perfetta. Ma sono in grado di inserire il carattere "*" in tale campo protetto. Qualche consiglio? Molte grazie Pavel
Questo commento è stato fatto dal moderatore sul sito
Invece della funzione RICERCA, prova a utilizzare TROVA: =ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")))
Questo commento è stato fatto dal moderatore sul sito
come impostare il limite di lunghezza? voglio dire se voglio impostare solo 12 caratteri o numeri
Questo commento è stato fatto dal moderatore sul sito
Ciao, Raj,
Per risolvere il tuo problema, applica la seguente formula:
=AND(ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))),LEN(A1)=12)


Per favore, prova, spero che possa aiutarti!
Questo commento è stato fatto dal moderatore sul sito
Cosa succede se devo impedire in una singola cella di digitare determinati caratteri in combinazione con la lunghezza del testo?

Ad esempio, voglio evitare che il testo sia compreso tra 5 e 16 caratteri in combinazione con una certa prevenzione del carattere? Qualche consiglio?
Questo commento è stato fatto dal moderatore sul sito
Forse puoi provare la funzione di convalida dei dati per limitare la lunghezza del testo. Vedi screenshot:
Questo commento è stato fatto dal moderatore sul sito
Quando uso il tuo codice VBA in Excel 2013, si aprirà l'opzione di debug e si bloccherà
Questo commento è stato fatto dal moderatore sul sito
Ciao, WilY, se viene visualizzata una finestra di dialogo come mostrato nell'immagine sottostante, fai clic su Sì, quindi su OK per abilitare il codice. Questo problema compare anche in Excel 2016.
Questo commento è stato fatto dal moderatore sul sito
Come ripetere questo in altre colonne?
Questo commento è stato fatto dal moderatore sul sito
Ottima soluzione. come agregas las comillas (") para que sean ammissidas?
Questo commento è stato fatto dal moderatore sul sito
Ciao erborista,

Felice di aiutare. Utilizzando il primo metodo, puoi utilizzare questa formula nella convalida dei dati:
=ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"&CHAR(34))))

La funzione CHAR prende il valore ASCII e restituisce il valore del carattere corrispondente. Il valore ASCII per una doppia virgoletta è 34. Quindi sarà consentita una doppia virgoletta. Per favore, prova.

Cordiali saluti,
Mandy
Questo commento è stato fatto dal moderatore sul sito
Pessoal, segue la formula in portoghese con una quantità di caratteri limitata a 7:

=E(ÉNÚM(SOMARPRODUTO(LOCALIZAR(EXT.TEXTO(A1;LIN(INDIRETO("1:"&NÚM.CARACT(A1)));1);"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ ")));NÚM.CARACT(A1)<8)
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL