Eu sei que este tópico é antigo, mas fiz uma pequena alteração no código fornecido por Avelino Sampaio, para permitir deixar a caixa de texto em branco e não permitir números repetidos, e gostaria de compartilhar:
No evento ANTES DE ATUALIZAR da caixa de texto do CPF denominada "txtCPF", digite:
- Código:
If IsNull(txtCPF) Or IsEmpty(txtCPF) Or txtCPF = "" Then
Exit Sub
Else
If fncCpfValido(Me.txtCPF) = False Or txtCPF = "000.000.000-00" Or _
txtCPF = "111.111.111-11" Or txtCPF = "222.222.222-22" Or _
txtCPF = "333.333.333-33" Or txtCPF = "444.444.444-44" Or _
txtCPF = "555.555.555-55" Or txtCPF = "666.666.666-66" Or _
txtCPF = "777.777.777-77" Or txtCPF = "888.888.888-88" Or _
txtCPF = "999.999.999-99" Then
MsgBox "CPF INVÁLIDO!", vbCritical, "ERRO"
Cancel = True
End If
End If