Ugrás a tartalomra

Hogyan lehet megakadályozni a speciális karakterek beírását az Excelbe?

Bizonyos esetekben csak betűket vagy számokat akarunk beírni a cellákba, és megakadályozzuk a speciális karakterek, például a @ # $% & stb. Beírását. Vannak-e olyan funkciók az Excel-ben, amelyek megakadályozzák a speciális karakterek beírását az értékek beszúrásakor?

Akadályozzuk meg a speciális karakterek bevitelét az Adatellenőrzés segítségével

Akadályozzuk meg a VBA kóddal történő speciális karakterek beírását

A Kutools for Excel segítségével megakadályozza a speciális karakterek beírását jó ötlet3


Akadályozzuk meg a speciális karakterek bevitelét az Adatellenőrzés segítségével

Az Excel adatellenőrzése segíthet abban, hogy csak az alfanumerikus értékeket adja meg. Kérjük, tegye a következőket:

1. Válassza ki azt a tartományt, amelyen meg szeretné akadályozni a speciális karakterek beírását.

2. Ezután kattintson dátum > adatok ellenőrzése > adatok ellenőrzése, lásd a képernyőképet:

doc-prevent-karakterek-1

3. Az adatok ellenőrzése párbeszédpanelen kattintson a gombra beállítások lapot, és válasszon szokás tól Hagyjuk legördülő listából, majd írja be ezt a képletet =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))) be a Képlet szövegmező, lásd a képernyőképet:

Jegyzet:A1 jelzi a kiválasztott tartomány első celláját (balról jobbra).

doc-prevent-karakterek-1

4. Ezután kattintson OK ennek a párbeszédpanelnek a bezárásához, és amikor a speciális oszlopokat tartalmazó értékeket adja meg a megadott oszlopban, alkalmazza az opciót, a következő figyelmeztető üzenetet kapja meg.

doc-prevent-karakterek-1


Akadályozzuk meg a VBA kóddal történő speciális karakterek beírását

A következő VBA-kód szintén segíthet megakadályozni a speciális karaktereket a szöveges értékek megadása közben.

1. Tartsa lenyomva a ALT + F11 gombokat, és ez megnyitja a Microsoft Visual Basic for Applications ablak.

2. Ezután válassza ki a használt munkalapot balról Project Explorer, kattintson duplán a fájl megnyitásához Modulok, majd másolja és illessze be a következő VBA kódot az üresbe Modulok:

VBA-kód: megakadályozza a speciális karakterek beírását az Excel-be

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-karakterek-1

Megjegyzések: A fenti kódban megváltoztathatja a tartományt A1: A100 of Privát Const FCheckRgAddress as string = "A1: A100" szkriptet a saját tartományához, amely megakadályozni szeretné a speciális karaktereket.

3. Ezután mentse el és zárja be ezt a kódot, és most, amikor szöveges értékeket ír be néhány speciális karakterrel az A1: A100 tartományba, az értéke egyszerre törlődik, és a következő figyelmeztető üzenetet kaphatja meg.

doc-prevent-karakterek-1


A Kutools for Excel segítségével megakadályozza a speciális karakterek beírását

Tulajdonképpen, ha van Kutools az Excel számára - egy praktikus és multifunkcionális eszköz, amellyel gyorsan megakadályozhatja a speciális karakterek beírását a kijelölésben A gépelés megakadályozása segédprogram egy ellenőrzéssel.

Kutools az Excel számára, Több mint 300 a praktikus funkciók megkönnyítik a munkáját. 

Telepítése után Kutools for Excel, kérjük, tegye az alábbiakat:(Ingyenesen töltse le a Kutools for Excel programot most!)

1. Válasszon ki egy kijelölést, amely megakadályozza a speciális karakterek beírását, majd kattintson a gombra Kutools > A gépelés megakadályozása > A gépelés megakadályozása. Lásd a képernyőképet:
doc megakadályozza a karaktereket 10

2. Ban,-ben A gépelés megakadályozása párbeszédpanelen ellenőrizze A speciális karakterek beírásának megakadályozása választási lehetőség. Lásd a képernyőképet:
doc megakadályozza a karaktereket 7

3. kettyenés Ok, és megjelenik egy párbeszédpanel, amely emlékeztet arra, hogy eltávolítja az Adatellenőrzést, ha alkalmazza ezt a segédprogramot, és rákattint Igen a következő párbeszédpanelre való ugráshoz emlékeztetni fogja, hogy a segédprogram a szakaszban dolgozott. lásd a képernyőképet:
doc megakadályozza a karaktereket 8

4. kettyenés OK a párbeszéd bezárásához, és mostantól egy figyelmeztető párbeszédpanel jelenik meg, amikor megpróbál egy speciális karaktert beírni a kijelölésbe.
doc megakadályozza a karaktereket 9

Tipp.Ha nem szeretné leállítani az ismétlődő értékek beírását egy oszlopba, próbálja meg a Kutools for Excel alkalmazást használni. A duplikálás megakadályozása a következő képernyőképen látható módon. 30 nap alatt teljes körűen működik, korlátozás nélkül, kérjük, töltse le és ingyenes próbaverzióval rendelkezzen most.

doc megakadályozza a másolatot a kutools megakadályozza a gépelést 2


Kapcsolódó cikkek:

Hogyan lehet megakadályozni az értékek szóközökkel történő beírását az Excelben?

Hogyan lehet megakadályozni az Excel oszlopának ismétlődő bejegyzéseit?

A legjobb irodai hatékonyságnövelő eszközök

Népszerű szolgáltatások: Ismétlődések keresése, kiemelése vagy azonosítása   |  Üres sorok törlése   |  Oszlopok vagy cellák kombinálása adatvesztés nélkül   |   Kerek Formula nélkül ...
Szuper keresés: Több kritérium VLookup    Többértékű VLookup  |   VLookup több munkalapon   |   Fuzzy Lookup ....
Speciális legördülő lista: Gyors legördülő lista létrehozása   |  Függő legördülő lista   |  Többszörösen válassza ki a legördülő listát ....
Oszlopkezelő: Adjon meg egy adott számú oszlopot  |  Oszlopok mozgatása  |  Kapcsolja be a Rejtett oszlopok láthatósági állapotát  |  Tartományok és oszlopok összehasonlítása ...
Kiemelt funkciók: Rács fókusz   |  Design nézet   |   Nagy Formula bár    Munkafüzet és lapkezelő   |  Erőforrás-könyvtár (Auto szöveg)   |  Dátumválasztó   |  Kombinálja a munkalapokat   |  Cellák titkosítása/dekódolása    E-mailek küldése listánként   |  Szuper szűrő   |   Speciális szűrő (félkövér/dőlt/áthúzott szűrés...) ...
A 15 legjobb eszközkészlet12 szöveg Eszközök (Szöveg hozzáadása, Karakterek eltávolítása,...)   |   50 + Táblázatos Típusai (Gantt-diagram,...)   |   40+ Praktikus képletek (Számolja ki az életkort a születésnap alapján,...)   |   19 beszúrás Eszközök (Helyezze be a QR-kódot, Kép beszúrása az útvonalból,...)   |   12 Átalakítás Eszközök (Számok szavakig, Valuta átváltás,...)   |   7 Egyesítés és felosztás Eszközök (Haladó kombinált sorok, Hasított sejtek,...)   |   ... és több

Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz.  Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...

kte lap 201905


Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
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