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

Как предотвратить ввод специальных символов в 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 for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (12)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Решение с проверкой данных почти идеально. Но я могу поставить символ "*" в такое защищенное поле. Любой совет? Большое спасибо Павел
Этот комментарий был сведен к минимуму модератором на сайте
Вместо функции ПОИСК попробуйте использовать функцию НАЙТИ: =ЕСЧИСЛО(СУММПРОИЗВ(НАЙТИ(СРЕДН(A1,СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")))
Этот комментарий был сведен к минимуму модератором на сайте
как установить ограничение по длине? я имею в виду, если я хочу установить только 12 символов или цифр
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Радж,
Чтобы решить вашу проблему, пожалуйста, примените следующую формулу:
=AND(ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))),LEN(A1)=12)


Пожалуйста, попробуйте, надеюсь, это поможет вам!
Этот комментарий был сведен к минимуму модератором на сайте
Что делать, если мне нужно предотвратить ввод в одной ячейке определенных символов в сочетании с длиной текста?

Например, я хочу, чтобы текст был между 5-16 символами в сочетании с определенным предотвращением символов? Любой совет?
Этот комментарий был сведен к минимуму модератором на сайте
Может быть, вы можете попробовать функцию проверки данных, чтобы ограничить длину текста. Смотрите скриншот:
Этот комментарий был сведен к минимуму модератором на сайте
Когда я использую ваш код VBA в Excel 2013, он открывает опцию отладки и зависает.
Этот комментарий был сведен к минимуму модератором на сайте
Привет, WilY, если появится диалоговое окно, как показано ниже, просто нажмите «Да», а затем «ОК», чтобы активировать код. Эта проблема возникает и в Excel 2016.
Этот комментарий был сведен к минимуму модератором на сайте
Как повторить это в других столбцах?
Этот комментарий был сведен к минимуму модератором на сайте
Отличное решение. como agregas las comillas ("") para que sean acceptidas?
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте, Гербер.

Рад помочь. Используя первый метод, вы можете использовать эту формулу при проверке данных:
=ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"&CHAR(34))))

Функция CHAR принимает значение ASCII и возвращает соответствующее значение символа. Значение ASCII для двойной кавычки равно 34. Таким образом, двойная кавычка будет разрешена. Пожалуйста, попробуйте.

С уважением,
Мэнди
Этот комментарий был сведен к минимуму модератором на сайте
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)
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL