Я хочу ограничить пользователей вводом или всего 0 или 1 в листе Excel 2007.
Я использую Данные> диалоговое окно Подтверждения правильности данных, чтобы сделать это, но я нахожу, что это не мешает им ввести пробелы.
То, что я хотел бы, для там, чтобы быть подсказкой, когда они вводят пробелы, точно так же, как тот, который появляется, когда они вводят любые другие непустые данные, которые не являются 0 или 1.
Я планирую заполнить лист 0s прежде, чем применить проверку, таким образом, не должно быть проблемы с ошибочными данными.
Кроме того, я открыт для использования VBA для решения этой проблемы.
Эта процедура обработки событий изменения посмотрит на любую ячейку, которая имеет проверку, и отобразите сообщение об ошибке от проверки. Это не работает как проверка, в которой это не вызывает "повторную попытку". Кроме того, это придерживается '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