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

Cum se previne introducerea caracterelor speciale în Excel?

Î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 Obicei 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. Este o funcție completă, fără limitări în 30 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 Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

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!
fundul officetab
Comentarii (12)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Soluția cu validarea datelor este aproape perfectă. Dar sunt capabil să pun caracterul „*” în astfel de câmp protejat. Vreun sfat? Multumesc mult Pavel
Acest comentariu a fost redus la minimum de moderatorul de pe site
În loc de funcția SEARCH, încercați să utilizați FIND: =ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX))
Acest comentariu a fost redus la minimum de moderatorul de pe site
cum se stabilesc limita de lungime? Adică dacă vreau să setez doar 12 caractere sau număr
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Raj,
Pentru a vă rezolva problema, vă rugăm să aplicați formula de mai jos:
=AND(ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))),LEN(A1)=12)


Vă rugăm să încercați, sper că vă poate ajuta!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Ce se întâmplă dacă trebuie să împiedic într-o singură celulă tastarea anumitor caractere în combinație cu lungimea textului?

De exemplu, vreau să împiedic ca textul să aibă între 5-16 caractere în combinație cu o anumită prevenire a caracterului? Vreun sfat?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Poate puteți încerca funcția de validare a datelor pentru a limita lungimea textului. Vedeți captura de ecran:
Acest comentariu a fost redus la minimum de moderatorul de pe site
Când vă folosesc codul VBA în Excel 2013, se va deschide opțiunea de depanare și se va bloca
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, WilY, dacă apare un dialog așa cum se arată mai jos, faceți clic pe Da, apoi pe OK pentru a activa codul. Această problemă apare și în Excel 2016.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum să repeți acest lucru în alte coloane?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Soluție excelentă. como agregas las comillas ("") para que sean admitidas?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut Herber,

Bucuros sa ajut. Folosind prima metodă, puteți utiliza această formulă în validarea datelor:
=ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"&CHAR(34))))

Funcția CHAR preia valoarea ASCII și returnează valoarea caracterului corespunzătoare. Valoarea ASCII pentru un ghilimele duble este 34. Deci un ghilimele dublu va fi permis. Vă rugăm să încercați.

Cu sinceritate,
Mandy
Acest comentariu a fost redus la minimum de moderatorul de pe site
Pessoal, segue formula em portugês cu o cantitate de caractere limitate la 7:

=E(ÉNÚM(SOMARPRODUTO(LOCALIZAR(EXT.TEXTO(A1;LIN(INDIRETO("1:"&NÚM.CARACT(A1)));1);"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ ")));NÚM.CARACT(A1)<8)
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL