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

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

Я хочу ограничить пользователей, позволяя им вводить только 0 или 1 в таблицу Excel 2007.

Для этого я использую диалоговое окно «Данные» > «Проверка данных», но обнаружил, что это не мешает им вводить пустые поля.

Мне бы хотелось, чтобы при вводе пробелов появлялось сообщение с подсказкой, как это бывает при вводе любых других непустых данных, отличных от 0 или 1.

Я планирую заполнить лист нулями.доприменяя проверку, поэтому не должно возникнуть проблем с ошибочными данными.

Кроме того, я открыт для использования VBA для решения этой проблемы.

решение1

Эта процедура события изменения будет просматривать любую ячейку, имеющую проверку, и отображать сообщение об ошибке проверки. Она не работает как проверка, поскольку не вызывает «повтор». Кроме того, она вставляет туда «1», если она удаляется. Вы можете поместить туда старое значение, но это потребует больше работы, и я обычно стараюсь этого избегать.

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim sForm As String

    On Error Resume Next
        sForm = Target.Validation.Formula1
    On Error GoTo 0

    If Len(sForm) > 0 Then 'has validation
        If IsEmpty(Target.Value) Then 'cell was deleted
            MsgBox Target.Validation.ErrorMessage, vbOKOnly, Target.Validation.ErrorTitle
            Application.EnableEvents = False
                Target.Value = 1
            Application.EnableEvents = True
        End If
    End If

End Sub

решение2

В настройках проверки данных должна быть опция "Игнорировать пустые". Если отключить (снять флажок) эту опцию, это не даст желаемого результата?

Установите DV на целое число от 0 до 1 и снимите флажок «Игнорировать пустые поля».

Связанный контент