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

1

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

Eu uso os dados > Diálogo de validação de dados para fazer isso, mas eu estou achando que não impede que eles entrem em espaços em branco.

O que eu gostaria é que haja um prompt quando eles digitarem espaços em branco, assim como o que aparece quando eles inserem qualquer outro dado não-vazio que não seja 0 ou 1.

Eu pretendo preencher a planilha com 0s antes de aplicar a validação, portanto, não deve haver um problema com dados incorretos.

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

    
por Tola Odejayi 23.12.2010 / 22:19

2 respostas

1

Este procedimento de evento de alteração examinará qualquer célula que tenha validação e exibirá a mensagem de erro da validação. Não funciona como validação, pois não força uma "tentativa". Além disso, ele coloca um '1' se for deletado. Você poderia colocar o valor antigo lá, mas precisaria de 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
    
por 24.12.2010 / 00:30
0

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

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

    
por 23.12.2010 / 22:28