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

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
Komentáře (11)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Řešení s Data Validation je téměř dokonalé. Ale jsem schopen vložit znak "*" do takového chráněného pole. Nějaká rada? Mnohokrát děkuji Pavle
Tento komentář byl moderátorem webu minimalizován
Místo funkce HLEDAT zkuste použít FIND: =ISNUMBER(SUMPRODUCT(FIND(MID(A1,ŘÁDEK(NEPŘÍMÝ("1:"&DÉLKA(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")))
Tento komentář byl moderátorem webu minimalizován
jak nastavit limit délky? Myslím, pokud chci nastavit pouze 12 znaků nebo číslo
Tento komentář byl moderátorem webu minimalizován
Ahoj, raji,
Chcete-li vyřešit svůj problém, použijte níže uvedený vzorec:
=AND(ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))),LEN(A1)=12)


Zkuste to prosím, doufám, že vám to pomůže!
Tento komentář byl moderátorem webu minimalizován
Co když potřebuji zabránit v jedné buňce psaní určitých znaků v kombinaci s délkou textu?

Chci například zabránit tomu, aby byl text mezi 5-16 znaky v kombinaci s určitou prevencí znaků? Nějaká rada?
Tento komentář byl moderátorem webu minimalizován
Možná můžete vyzkoušet funkci Data Validation pro omezení délky textu. Viz snímek obrazovky:
Tento komentář byl moderátorem webu minimalizován
Když použiji váš kód VBA v aplikaci Excel 2013, otevře se možnost ladění a zamrzne
Tento komentář byl moderátorem webu minimalizován
Ahoj, WilY, pokud se objeví dialogové okno jako na obrázku níže, stačí kliknout na Ano a poté na OK, aby se kód aktivoval. Tento problém se objevuje i v Excelu 2016.
Tento komentář byl moderátorem webu minimalizován
Jak to zopakovat v dalších sloupcích?
Tento komentář byl moderátorem webu minimalizován
Vynikající řešení. jako agregas las comillas (") pro sean admitidas?
Tento komentář byl moderátorem webu minimalizován
Ahoj herbere,

Rád jsem pomohl. Pomocí první metody můžete při ověřování dat použít tento vzorec:
=ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"&CHAR(34))))

Funkce CHAR převezme hodnotu ASCII a vrátí odpovídající hodnotu znaku. Hodnota ASCII pro dvojitou uvozovku je 34. Dvojitá uvozovka tedy bude povolena. Zkuste to prosím.

S pozdravem,
Mandy
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění