Прескочи на основното съдържание

Как да предотвратим въвеждането на специални символи в Excel?

Автор: Xiaoyang Последна промяна: 2020-07-08

В някои случаи просто искаме да въведем букви или цифри в клетките и да предотвратим въвеждането на специални знаци, като @#$%& и т.н. Има ли функции в Excel, които да предотвратят въвеждането на специални знаци, когато вмъкваме стойности?

Предотвратяване на въвеждането на специални символи с валидиране на данни

Предотвратете въвеждането на специални символи с VBA код

Предотвратете въвеждането на специални знаци с Kutools за Excel добра идея3


Предотвратяване на въвеждането на специални символи с валидиране на данни

Проверката на данните в Excel може да ви помогне да ви позволи да въвеждате само буквено-цифровите стойности. Моля, направете следното:

1. Изберете диапазон, в който искате да предотвратите въвеждането на специални знаци.

2, След това кликнете Дата > Потвърждаване на данните > Потвърждаване на данните, вижте екранна снимка:

doc-prevent-characters-1

3. В Потвърждаване на данните кликнете върху Настройки раздела и изберете Custom от Позволете падащ списък, след което въведете тази формула =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))) в Формула текстово поле, вижте екранна снимка:

Забележка:A1 показва първата клетка от избрания от вас диапазон (отляво надясно).

doc-prevent-characters-1

4, След това кликнете OK за да затворите този диалогов прозорец и сега, когато въведете стойности, които съдържат специалните знаци в указаната колона, трябва да приложите опцията, ще получите следното предупредително съобщение.

doc-prevent-characters-1


Предотвратете въвеждането на специални символи с VBA код

Следният VBA код също може да ви помогне да предотвратите специалните знаци, докато въвеждате текстовите стойности.

1. Задръжте натиснат ALT + F11 ключове и отваря Прозорец на Microsoft Visual Basic за приложения.

2. След това изберете използвания работен лист отляво Project Explorer, щракнете два пъти върху него, за да отворите Модулии след това копирайте и поставете следния VBA код в празното поле Модули:

VBA код: предотвратява въвеждането на специални знаци в 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

Забележка: В горния код можете да промените диапазона A1: A100 of Private Const FCheckRgAddress като низ = "A1:A100" скрипт към вашия собствен диапазон, който искате да предотвратите специалните знаци.

3. След това запазете и затворете този код и сега, когато въведете текстови стойности с някои специални знаци в диапазона A1:A100, вашата стойност ще бъде изчистена веднага и можете да получите следното предупредително съобщение.

doc-prevent-characters-1


Предотвратете въвеждането на специални знаци с Kutools за Excel

Всъщност, ако имате Kutools за Excel -- удобен и многофункционален инструмент, можете бързо да предотвратите въвеждането на специални символи в селекция с него Предотвратяване на писане полезност с една проверка.

Kutools за Excel, с повече от 300 удобни функции, прави работата ви по-лесна. 

След инсталиране Kutools за Excel, моля, направете следното:(Безплатно изтегляне Kutools за Excel сега!)

1. Изберете селекция, която искате да предотвратите въвеждането на специални знаци, и щракнете Kutools > Предотвратяване на писане > Предотвратяване на писане. Вижте екранна снимка:
doc предотвратяване на знаци 10

2. В Предотвратяване на писане диалог, проверка Предотвратете въвеждането на специални знаци опция. Вижте екранна снимка:
doc предотвратяване на знаци 7

3. кликване Okи изскача диалогов прозорец, за да ви напомни, че ще премахне валидирането на данни, ако приложите тази помощна програма и щракнете Да за да отидете на следващия диалогов прозорец, той ще ви напомни, че помощната програма е работила в секцията. виж екранна снимка:
doc предотвратяване на знаци 8

4. кликване OK за затваряне на диалоговия прозорец и отсега нататък изскача диалогов прозорец с предупреждение, когато се опитате да въведете специален знак в селекцията.
doc предотвратяване на знаци 9

Бакшиш.Ако искате да спрете да въвеждате дублиращи се стойности в колона, моля, опитайте да използвате Kutools за Excel Предотвратяване на дублиране както е показано на следващата екранна снимка. Той е напълно функционален без ограничение за 30 дни, моля, изтеглете и получете безплатен пробен период сега.

doc предотвратяване на дублиране doc kutools предотвратяване на писане 2


Още по темата:

Как да предотвратим въвеждането на стойности с интервали в Excel?

Как да предотвратите дублиращи се записи в колона в Excel?

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
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