Como evito que os usuários insiram um valor em branco em uma planilha do Excel?

Como evito que os usuários insiram um valor em branco em uma planilha do Excel?

Quero restringir os usuários a inserir apenas 0 ou 1 em uma planilha do Excel 2007.

Eu uso a caixa de diálogo Dados> Validação de dados para fazer isso, mas descobri que isso não os impede de inserir espaços em branco.

O que eu gostaria é que houvesse um aviso quando eles inserem espaços em branco, assim como aquele que aparece quando eles inserem qualquer outro dado que não esteja em branco que não seja 0 ou 1.

Pretendo preencher a planilha com 0santesaplicando a validação, portanto não deve haver problemas com dados errados.

Além disso, estou aberto a usar o VBA para corrigir esse problema.

Responder1

Este procedimento de evento de mudança examinará qualquer célula que tenha validação e exibirá a mensagem de erro da validação. Não funciona como validação porque não força uma "nova tentativa". Além disso, ele coloca um '1' lá se for excluído. Você poderia colocar o valor antigo lá, mas daria mais trabalho e geralmente é algo que tento evitar.

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

Responder2

Deve haver uma opção nas configurações de validação de dados para "Ignorar em branco". Se você desabilitar (desmarcar) a opção, isso não fará o que você deseja?

Defina o DV para um número inteiro entre 0 e 1 e desmarque "Ignorar espaço em branco"

informação relacionada