Salt la conținutul principal

Cum se previne introducerea caracterelor speciale în Excel?

Autor: Xiaoyang Ultima modificare: 2020-07-08

În unele cazuri, dorim doar să introducem litere sau cifre în celule și să prevenim tastarea caracterelor speciale, cum ar fi @ # $% & și așa mai departe. Există funcții în Excel pentru a preveni introducerea caracterelor speciale atunci când introducem valori?

Împiedicați introducerea caracterelor speciale cu validarea datelor

Preveniți introducerea caracterelor speciale cu codul VBA

Preveniți introducerea de caractere speciale cu Kutools pentru Excel idee bună3


Împiedicați introducerea caracterelor speciale cu validarea datelor

Validarea datelor Excel vă poate ajuta să introduceți numai valorile alfanumerice. Vă rugăm să faceți următoarele:

1. Selectați un interval pe care doriți să îl împiedicați să intre caracterele speciale.

2. Apoi apasa Date > Data validarii > Data validarii, vezi captura de ecran:

doc-prevent-caractere-1

3. În Data validarii casetă de dialog, faceți clic pe setări cont fila și alegeți pachet personalizat de la Permite lista derulantă, apoi introduceți această formulă =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))) în Formulă casetă text, vezi captura de ecran:

Notă:A1 indică prima celulă din intervalul selectat (de la stânga la dreapta).

doc-prevent-caractere-1

4. Apoi apasa OK pentru a închide acest dialog, iar acum când introduceți valori care conțin caracterele speciale în coloana specificată, aplicați opțiunea, veți primi următorul mesaj de avertizare.

doc-prevent-caractere-1


Preveniți introducerea caracterelor speciale cu codul VBA

Următorul cod VBA vă poate ajuta, de asemenea, să preveniți caracterele speciale în timp ce introduceți valorile textului.

1. Țineți apăsat butonul ALT + F11 tastele și deschide fișierul Fereastra Microsoft Visual Basic pentru aplicații.

2. Apoi alegeți foaia de lucru utilizată din stânga Explorator de proiecte, faceți dublu clic pe acesta pentru a deschide fișierul Module, apoi copiați și lipiți următorul cod VBA în gol Module:

Cod VBA: împiedicați introducerea caracterelor speciale în 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-caractere-1

notițe: În codul de mai sus, puteți schimba intervalul A1: A100 of Private Const FCheckRgAddress As String = "A1: A100" script pentru propria gamă pe care doriți să o împiedicați caracterele speciale.

3. Apoi salvați și închideți acest cod și acum, când introduceți valori de text cu câteva caractere speciale în intervalul A1: A100, valoarea dvs. va fi ștearsă simultan și puteți primi următorul mesaj de avertizare.

doc-prevent-caractere-1


Preveniți introducerea de caractere speciale cu Kutools pentru Excel

De fapt, dacă ai Kutools pentru Excel - un instrument la îndemână și multifuncțional, puteți preveni rapid tastarea caracterelor speciale într-o selecție cu ajutorul acestuia Preveniți tastarea utilitate printr-un cec.

Kutools pentru Excel, cu mai mult de 300 funcții la îndemână, vă face munca mai ușoară. 

După instalare Kutools pentru Excel, faceți următoarele :(Descărcați gratuit Kutools pentru Excel acum!)

1. Selectați o selecție pe care doriți să o împiedicați tastarea caracterelor speciale și faceți clic Kutools > Preveniți tastarea > Preveniți tastarea. Vedeți captura de ecran:
doc prevent personaje 10

2. În Preveniți tastarea dialog, verificați Preveniți să introduceți caractere speciale opțiune. Vedeți captura de ecran:
doc prevent personaje 7

3. clic Ok, și apare un dialog pentru a vă reaminti că va elimina validarea datelor dacă aplicați acest utilitar și faceți clic pe Da pentru a accesa dialogul următor, vă va reaminti că utilitatea a funcționat la secțiune. vezi captura de ecran:
doc prevent personaje 8

4. clic OK pentru a închide dialogul și, de acum înainte, apare un dialog de avertizare când încercați să introduceți un caracter special în selecție.
doc prevent personaje 9

Bacsis.Dacă doriți să opriți tastarea valorilor duplicate într-o coloană, încercați să utilizați Kutools pentru Excel Preveniți duplicarea așa cum se arată în următoarea captură de ecran. Funcționează complet fără limitare în 30 de zile, vă rugăm să descărcați și să aveți o încercare gratuită acum.

doc prevenirea duplicatului doc kutools împiedică tastarea 2


Legate de articole:

Cum se previne introducerea valorilor cu spații în Excel?

Cum se previne intrările duplicate într-o coloană din Excel?

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

Descriere


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
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