Como evitar 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 & gt; 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 entrarem em branco, assim como o que aparece quando eles inserem qualquer outro dado não-branco que não seja 0 ou 1.

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

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

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

Obrigado - isso funcionou tão bem que estou usando em vez de da minha validação. :)
Tola Odejayi

0

Deve haver uma opção nas configurações de validação de dados para "Ignorar em branco". Se você desabilitar (desmarque) 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"


Eu tentei isso, mas não funciona. Acho que ainda posso inserir dados em branco.
Tola Odejayi
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.