Přejít k hlavnímu obsahu

Jak zabránit zadávání speciálních znaků v aplikaci Excel?

V některých případech chceme pouze zadat do buněk písmena nebo číslice a zabránit zadávání speciálních znaků, například @ # $% atd. Existují v aplikaci Excel nějaké funkce, které zabrání zadávání speciálních znaků při vkládání hodnot?

Zabraňte zadávání speciálních znaků pomocí ověření dat

Zabraňte zadávání speciálních znaků pomocí kódu VBA

Zabraňte zadávání speciálních znaků pomocí Kutools pro Excel dobrý nápad3


Zabraňte zadávání speciálních znaků pomocí ověření dat

Ověření dat aplikace Excel vám pomůže povolit pouze zadávání alfanumerických hodnot. Postupujte prosím následovně:

1. Vyberte rozsah, ve kterém chcete zabránit zadávání speciálních znaků.

2. Pak klikněte na tlačítko Data > Ověření dat > Ověření dat, viz screenshot:

doc-prevent-characters-1

3. V Ověření dat , klepněte na tlačítko OK Nastavení kartu a zvolte Zvyk z povolit rozevírací seznam a poté zadejte tento vzorec =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))) do Vzorec textové pole, viz screenshot:

Poznámka:A1 označuje první buňku vybraného rozsahu (zleva doprava).

doc-prevent-characters-1

4. Pak klikněte na tlačítko OK zavřete toto dialogové okno a nyní, když zadáte hodnoty, které obsahují speciální znaky v zadaném sloupci, použijete tuto možnost, zobrazí se následující varovná zpráva.

doc-prevent-characters-1


Zabraňte zadávání speciálních znaků pomocí kódu VBA

Následující kód VBA vám také pomůže zabránit speciálním znakům při zadávání textových hodnot.

1. Podržte ALT + F11 klíče a otevře se Okno Microsoft Visual Basic pro aplikace.

2. Poté vyberte použitý list zleva Průzkumník projektupoklepáním otevřete soubor Modula poté zkopírujte a vložte následující kód VBA do mezery Modul:

Kód VBA: zabraňte zadávání speciálních znaků v aplikaci 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-characters-1

Poznámka: Ve výše uvedeném kódu můžete změnit rozsah A1: A100 of Soukromá Const FCheckRgAddress jako řetězec = "A1: A100" skript do vlastního rozsahu, kterému chcete zabránit speciálním znakům.

3. Poté tento kód uložte a zavřete a nyní, když zadáte textové hodnoty s některými speciálními znaky v rozsahu A1: A100, bude vaše hodnota vymazána najednou a můžete obdržet následující varovnou zprávu.

doc-prevent-characters-1


Zabraňte zadávání speciálních znaků pomocí Kutools pro Excel

Vlastně, pokud máte Kutools pro Excel - praktický a multifunkční nástroj, pomocí kterého můžete rychle zabránit zadávání speciálních znaků do výběru Zabraňte psaní nástroj jednou kontrolou.

Kutools pro Excel, s více než 300 užitečné funkce, které vám usnadní práci. 

Po instalaci Kutools pro Excel, prosím, postupujte takto :(Stažení zdarma Kutools pro Excel hned teď!)

1. Vyberte výběr, kterému chcete zabránit v psaní speciálních znaků, a klepněte na Kutools > Zabraňte psaní > Zabraňte psaní. Viz snímek obrazovky:
Doc zabránit znaky 10

2. V Zabraňte psaní dialog, zkontrolujte Zabraňte zadávání zvláštních znaků volba. Viz screenshot:
Doc zabránit znaky 7

3. cvaknutí Oka objeví se dialogové okno, které vám připomene, že pokud použijete tento nástroj a kliknete, odebere se ověření dat Ano přejdete na další dialog, který vám připomene, že obslužný program v sekci pracoval. viz screenshot:
Doc zabránit znaky 8

4. cvaknutí OK zavřete dialogové okno a od nynějška se zobrazí dialogové okno s varováním, když se pokusíte do výběru zadat speciální znak.
Doc zabránit znaky 9

Spropitné.Pokud chcete přestat psát duplicitní hodnoty do sloupce, zkuste použít Kutools pro Excel Zabraňte duplikování jak je znázorněno na následujícím snímku obrazovky. Je plně funkční bez omezení za 30 dní, prosím stáhněte si a získejte bezplatnou zkušební verzi hned teď.

doc zabránit duplikátu doc kutools zabránit psaní 2


Související články:

Jak zabránit zadávání hodnot s mezerami v aplikaci Excel?

Jak zabránit duplicitním položkám ve sloupci v aplikaci Excel?

Nejlepší nástroje pro produktivitu v kanceláři

Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

karta kte 201905


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
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