Перейти до основного матеріалу

Як запобігти введенню спеціальних символів в Excel?

У деяких випадках ми просто хочемо вводити букви або цифри в клітинки і не допускати введення спеціальних символів, таких як @ # $% & тощо. Чи є в Excel функції, які запобігають введенню спеціальних символів, коли ми вставляємо значення?

Запобігання введенню спеціальних символів за допомогою перевірки даних

Заборонити введення спеціальних символів за допомогою коду VBA

Запобігайте введенню спеціальних символів за допомогою Kutools для Excel гарна ідея3


Запобігання введенню спеціальних символів за допомогою перевірки даних

Перевірка даних Excel може допомогти вам лише вводити буквено-цифрові значення. Будь ласка, виконайте наступне:

1. Виберіть діапазон, який потрібно запобігти введенню спеціальних символів.

2. Потім натисніть дані > Перевірка достовірності даних > Перевірка достовірності даних, див. скріншот:

doc-preventive-characters-1

3, в Перевірка достовірності даних діалогове вікно натисніть кнопку Налаштування та виберіть виготовлений на замовлення від дозволяти випадаючий список, а потім введіть цю формулу =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))) в Formula текстове поле, див. знімок екрана:

Примітка:A1 позначає першу клітинку вибраного вами діапазону (зліва направо).

doc-preventive-characters-1

4. Потім натисніть OK щоб закрити це діалогове вікно, і тепер, коли ви введете значення, які містять спеціальні символи у вказаному стовпці, у вас є застосувати опцію, ви отримаєте таке попереджувальне повідомлення.

doc-preventive-characters-1


Заборонити введення спеціальних символів за допомогою коду VBA

Наступний код VBA також може допомогти вам запобігти появі спеціальних символів під час введення текстових значень.

1. Утримуйте клавішу ALT + F11 і відкриває Вікно Microsoft Visual Basic для програм.

2. Потім виберіть свій використаний аркуш зліва Провідник проектів, двічі клацніть на ньому, щоб відкрити Модулі, а потім скопіюйте та вставте наступний код 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-preventive-characters-1

примітки: У наведеному вище коді ви можете змінити діапазон A1: A100 of Приватний конкурс FCheckRgAddress як рядок = "A1: A100" сценарій до власного діапазону, який ви хочете запобігти спеціальним символам.

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

doc-preventive-characters-1


Запобігайте введенню спеціальних символів за допомогою Kutools для Excel

Власне, якщо є Kutools для Excel - зручний і багатофункціональний інструмент, ви можете швидко запобігти введенню спеціальних символів у виділення за допомогою нього Запобігання друку утиліта за одну перевірку.

після установки Kutools для Excel, виконайте наведені нижче дії:(Безкоштовно завантажте Kutools для Excel зараз!)

1. Виберіть виділення, яке потрібно запобігти введенню спеціальних символів, і натисніть Кутулс > Запобігання друку > Запобігання друку. Дивіться знімок екрана:
doc запобігання символам 10

2 В Запобігання друку діалогове вікно, перевірте Запобігання введенню спеціальних символів варіант. Дивіться знімок екрана:
doc запобігання символам 7

3. клацання Ok, і з’явиться діалогове вікно, яке нагадуватиме вам, що скасує перевірку даних, якщо застосувати цю утиліту та натисніть Так щоб перейти до наступного діалогового вікна, воно нагадуватиме вам, що утиліта працювала в цьому розділі. див. скріншот:
doc запобігання символам 8

4. клацання OK щоб закрити діалогове вікно, і відтепер під час спроби ввести спеціальний символ у виділення з’являється попереджувальне діалогове вікно.
doc запобігання символам 9

Порада.Якщо ви не хочете вводити повторювані значення в стовпець, спробуйте скористатися Kutools для Excel Запобігти дублюванню як показано на наступному скріншоті. Повна функція без обмежень за 30 днів, будь ласка, завантажте та отримайте безкоштовну пробну версію зараз.

doc запобігти дублікату - doc kutools запобігає друку 2


Статті по темі:

Як запобігти введенню значень із пробілами в Excel?

Як запобігти повторення записів у стовпці в Excel?

Найкращі інструменти продуктивності офісу

Популярні функції: Знайдіть, виділіть або визначте дублікати   |  Видалити порожні рядки   |  Об’єднайте стовпці або клітинки без втрати даних   |   Раунд без Формули ...
Супер пошук: VLookup за кількома критеріями    Багатозначний VLookup  |   VLookup на кількох аркушах   |   Нечіткий пошук ....
Розширений розкривний список: Швидке створення випадаючого списку   |  Залежний спадний список   |  Виберіть розкривний список, що вибирається ....
Менеджер колонок: Додайте конкретну кількість стовпців  |  Перемістити стовпці  |  Перемкнути статус видимості прихованих стовпців  |  Порівняйте діапазони та стовпці ...
Особливості: Фокус сітки   |  Перегляд дизайну   |   Велика панель формул    Диспетчер робочих книг і аркушів   |  Бібліотека ресурсів (автотекст)   |  Вибір дати   |  Об’єднайте робочі аркуші   |  Шифрування/розшифрування клітинок    Надсилайте листи за списком   |  Супер фільтр   |   Спеціальний фільтр (фільтр жирний/курсив/закреслений...) ...
Топ-15 наборів інструментів12 текст Tools (додати текст, Видалити символи, ...)   |   50 + Графік типи (діаграма Ганта, ...)   |   40+ Практичний Формули (Розрахуйте вік на основі дня народження, ...)   |   19 вставка Tools (Вставте QR-код, Вставити зображення зі шляху, ...)   |   12 Перетворення Tools (Числа до слів, Валютна конверсія, ...)   |   7 Злиття та розділення Tools (Розширені комбіновані ряди, Розділені клітини, ...)   |   ... і більше

Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу.  Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...

вкладка kte 201905


Вкладка 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