Note: The other languages of the website are Google-translated. Back to English
Přihlásit se  \/ 
x
or
x
Registrace  \/ 
x

or

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í do 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ší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2019 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Kompletní funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
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 omezuje stovky kliknutí myší každý den!
officetab dno
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    WilExcel · 1 years ago
    When I use your VBA code in excel 2013 it will open up debug option and freezes
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      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.
  • To post as a guest, your comment is unpublished.
    Milan · 3 years ago
    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?
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      Maybe you can try the Data Validation function to limit the text length. See screenshot:
  • To post as a guest, your comment is unpublished.
    Pavel · 5 years ago
    The solution with Data Validation is almost perfect. But I'm able to put "*" character the such protected field. Any advice?
    Many thanks
    Pavel
    • To post as a guest, your comment is unpublished.
      unknown · 3 years ago
      Instead of SEARCH function try using FIND: =ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")))