Перейти к основному содержанию

Как предотвратить ввод специальных символов в Excel?

В некоторых случаях мы просто хотим вводить буквы или цифры в ячейки и не вводить специальные символы, такие как @ # $% & и т. Д. Есть ли в Excel какие-либо функции для предотвращения ввода специальных символов при вставке значений?

Запретить ввод специальных символов с помощью проверки данных

Запретить ввод специальных символов с кодом VBA

Запретить ввод специальных символов с помощью Kutools for Excel хорошая идея3


Запретить ввод специальных символов с помощью проверки данных

Проверка данных Excel позволяет вводить только буквенно-цифровые значения. Пожалуйста, сделайте следующее:

1. Выберите диапазон, в котором вы хотите запретить ввод специальных символов.

2. Затем нажмите Данные > проверка достоверности данных > проверка достоверности данных, см. снимок экрана:

док-предотвратить-символы-1

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

Примечание:A1 обозначает первую ячейку выбранного диапазона (слева направо).

док-предотвратить-символы-1

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

док-предотвратить-символы-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

док-предотвратить-символы-1

Внимание: В приведенном выше коде вы можете изменить диапазон A1: A100 of Private Const FCheckRgAddress As String = "A1: A100" script в свой собственный диапазон, в котором вы хотите предотвратить использование специальных символов.

3. Затем сохраните и закройте этот код, и теперь, когда вы вводите текстовые значения с некоторыми специальными символами в диапазоне A1: A100, ваше значение будет сразу очищено, и вы можете получить следующее предупреждающее сообщение.

док-предотвратить-символы-1


Запретить ввод специальных символов с помощью Kutools for Excel

Собственно, если у вас есть Kutools for Excel - удобный и многофункциональный инструмент, с помощью которого вы можете быстро предотвратить ввод специальных символов в выделенном фрагменте. Предотвратить ввод Утилита по одной проверке.

Kutools for Excel, с более чем 300 удобные функции, облегчающие вашу работу. 

После установки Kutools for Excel, пожалуйста, сделайте, как показано ниже :(Скачать бесплатно Kutools for Excel сейчас!)

1. Выберите элемент, который вы хотите запретить вводить специальные символы, и нажмите Кутулс > Предотвратить ввод > Предотвратить ввод. Смотрите скриншот:
док запретить символы 10

2. в Предотвратить ввод диалог, проверьте Запретить ввод специальных символов вариант. Смотрите скриншот:
док запретить символы 7

3. Нажмите Ok, и появится диалоговое окно с напоминанием о том, что проверка данных будет удалена, если применить эту утилиту и щелкнуть Да чтобы перейти к следующему диалогу, он напомнит вам, что на данном разделе работала утилита. см. снимок экрана:
док запретить символы 8

4. Нажмите OK чтобы закрыть диалоговое окно, и с этого момента диалоговое окно с предупреждением будет появляться, когда вы пытаетесь ввести специальный символ в выделение.
док запретить символы 9

Наконечник.Если вы хотите перестать вводить повторяющиеся значения в столбце, попробуйте использовать Kutools for Excel's Предотвратить дублирование как показано на следующем снимке экрана. Полная функция без ограничений в течение 30 дней, пожалуйста, скачайте и получите бесплатную пробную версию сейчас.

док предотвратить дублирование doc kutools запретить ввод 2


Статьи по теме:

Как предотвратить ввод значений с пробелами в Excel?

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

Лучшие инструменты для офисной работы

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

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 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