VALIDAR CPF E CNPJ NUM MESMO TEXTBOX
bom dia.. preciso validar cpf e cnpj num mesmo txtbox.... mas antes de digitar na caixa de texto é escolhido em option pessoa fisica ou juridica
como posso fazer dessa forma..
como posso fazer dessa forma..
Se você já tem a função faz assim:
If OptCPF.Value = True Then
validarCPF (Text1.Text)[ô] Aqui você coloca sua função
ElseIf OptCNPJ.Value = True Then
ValidarCNPJ (Text1.Text)[ô]Sua Função aqui
Else
MsgBox [Ô]Informe se é pessoa fÃsica ou pessoa jurÃdica![Ô]
End If
[Ô]xupinhando[Ô] o código....
If len(text1.text) < 12 Then
validarCPF (Text1.Text)[ô] Aqui você coloca sua função
else
ValidarCNPJ (Text1.Text)[ô]Sua Função aqui
end if
vamos lá
[ô]Em um Modulo.bas
para chamar é assim
bom com a função acima não precisa nem do option, basta você digitar o numero do cpf ou cnpj que ele já verifica e valida
[ô]Em um Modulo.bas
Global Formato As String, Numeros As String
Public Function ValidaCPF_CNPJ(Vl_CgcCpf As String)
[ô] Esta Rotina Devolverá True Se o Cgc/Cpf Informado For valido
[ô] ou False Se o Cgc/Cpf Não For Correto
ValidaCPF_CNPJ = False
Dim VA_CgcCpf As String
Dim VA_Digito As String
Static Numero(15) As Integer
Dim VA_Resto As Integer
Dim VA_Resultado As Integer
Dim VA_SomaDigito10 As Integer
Dim VA_resto1 As Integer
VA_CgcCpf = Format(SóNumeros(Vl_CgcCpf), [Ô]@@@@@@@@@@@@@@[Ô])
VA_Digito = Mid(VA_CgcCpf, 13, 2)
[ô]frmCritica_CPCCGC.LblVerificador.Caption = VA_Digito
Numero(1) = Val(Mid(VA_CgcCpf, 1, 1))
Numero(2) = Val(Mid(VA_CgcCpf, 2, 1))
Numero(3) = Val(Mid(VA_CgcCpf, 3, 1))
Numero(4) = Val(Mid(VA_CgcCpf, 4, 1))
Numero(5) = Val(Mid(VA_CgcCpf, 5, 1))
Numero(6) = Val(Mid(VA_CgcCpf, 6, 1))
Numero(7) = Val(Mid(VA_CgcCpf, 7, 1))
Numero(8) = Val(Mid(VA_CgcCpf, 8, 1))
Numero(9) = Val(Mid(VA_CgcCpf, 9, 1))
Numero(10) = Val(Mid(VA_CgcCpf, 10, 1))
Numero(11) = Val(Mid(VA_CgcCpf, 11, 1))
Numero(12) = Val(Mid(VA_CgcCpf, 12, 1))
Numero(13) = Val(Mid(VA_CgcCpf, 13, 1))
Numero(14) = Val(Mid(VA_CgcCpf, 14, 1))
If Len(Trim(VA_CgcCpf)) > 11 Then [ô] Cgc
Formato = Format(Numeros, [Ô]@@.@@@.@@@/@@@@-@@[Ô])
VA_Resultado = (Numero(1) * 5) + (Numero(2) * 4) _
+ (Numero(3) * 3) + (Numero(4) * 2) _
+ (Numero(5) * 9) + (Numero(6) * 8) + _
(Numero(7) * 7) + (Numero(8) * 6) + _
(Numero(9) * 5) + (Numero(10) * 4) + _
(Numero(11) * 3) + (Numero(12) * 2)
[ô] Atribui para resto o resto da divisão
[ô] de VA_resultado dividido por 11
VA_Resto = VA_Resultado Mod 11
If VA_Resto < 2 Then
VA_resto1 = 0
Else
VA_resto1 = 11 - VA_Resto
End If
If VA_resto1 <> Numero(13) Then
Exit Function
End If
VA_Resultado = (Numero(1) * 6) + _
(Numero(2) * 5) + (Numero(3) * 4) + _
(Numero(4) * 3) + (Numero(5) * 2) + _
(Numero(6) * 9) + (Numero(7) * 8) + _
(Numero(8) * 7) + (Numero(9) * 6) + _
(Numero(10) * 5) + (Numero(11) * 4) + _
(Numero(12) * 3) + (Numero(13) * 2)
[ô] Atribui para resto o resto da divisão
[ô] de VA_resultado dividido por 11
VA_Resto = VA_Resultado Mod 11
If VA_Resto < 2 Then
VA_resto1 = 0
Else
VA_resto1 = 11 - VA_Resto
End If
If VA_resto1 <> Numero(14) Then
Exit Function
End If
Else [ô] Cpf
Formato = Format(Numeros, [Ô]@@@.@@@.@@@ - @@[Ô])
VA_Resultado = (Numero(4) * 1) + (Numero(5) * 2) _
+ (Numero(6) * 3) + (Numero(7) * 4) _
+ (Numero(8) * 5) + (Numero(9) * 6) _
+ (Numero(10) * 7) + (Numero(11) * 8) + (Numero(12) * 9)
VA_Resto = VA_Resultado Mod 11
If VA_Resto > 9 Then
VA_resto1 = VA_Resto - 10
Else
VA_resto1 = VA_Resto
End If
[ô]frmCritica_CPCCGC.LblC1.Caption = VA_resto1
If VA_resto1 <> Numero(13) Then
GoTo Sairr
End If
VA_Resultado = (Numero(5) * 1) _
+ (Numero(6) * 2) + (Numero(7) * 3) _
+ (Numero(8) * 4) + (Numero(9) * 5) + _
(Numero(10) * 6) + (Numero(11) * 7) + _
(Numero(12) * 8) + (VA_resto1 * 9)
VA_Resto = VA_Resultado Mod 11
If VA_Resto > 9 Then
VA_resto1 = VA_Resto - 10
Else
VA_resto1 = VA_Resto
End If
[ô]frmCritica_CPCCGC.LblC2.Caption = VA_resto1
If VA_resto1 <> Numero(14) Then
Exit Function
End If
End If
ValidaCPF_CNPJ = True
Exit Function
Sairr:
VA_Resultado = (Numero(5) * 1) _
+ (Numero(6) * 2) + (Numero(7) * 3) _
+ (Numero(8) * 4) + (Numero(9) * 5) + _
(Numero(10) * 6) + (Numero(11) * 7) + _
(Numero(12) * 8) + (VA_resto1 * 9)
VA_Resto = VA_Resultado Mod 11
If VA_Resto > 9 Then
VA_resto1 = VA_Resto - 10
Else
VA_resto1 = VA_Resto
End If
[ô]frmCritica_CPCCGC.LblC2.Caption = VA_resto1
If VA_resto1 <> Numero(14) Then
Exit Function
End If
End Function
para chamar é assim
If ValidaCPF_CNPJ(Text1.Text) = False Then
MsgBox [Ô]CPF ou CNPJ Informado não é valido[Ô], 64
Text1.SetFocus
Exit Sub
Else
Text1.Text = Formato
End If
bom com a função acima não precisa nem do option, basta você digitar o numero do cpf ou cnpj que ele já verifica e valida
ola marcelo. coloquei da forma q vc postou...
1 - a string Sonumeros no modulo nao esta sendo encontrado
2 coloquei na caixa de texto coloquei assim..
Private Sub Txtcpf_cnpj_LostFocus()
If ValidaCPF_CNPJ(Txtcpf_cnpj.Text) = False Then
MsgBox [Ô]CPF ou CNPJ Informado não é valido[Ô], 64
Txtcpf_cnpj.SetFocus
Exit Sub
Else
Txtcpf_cnpj.Text = Formato
End If
End Sub
mas nao esta funcionando...
ao digitar o CPF OU CNPJ..
copie denovo o código acima que eu reeditei
ainda com esse erro
((( Sub or Funtions not Defined ))
VA_CgcCpf = Format(SóNumeros(Vl_CgcCpf), [Ô]@@@@@@@@@@@@@@[Ô])
obs: O SóNumeros
((( Sub or Funtions not Defined ))
VA_CgcCpf = Format(SóNumeros(Vl_CgcCpf), [Ô]@@@@@@@@@@@@@@[Ô])
obs: O SóNumeros
apos o lostfocus. a caixa de texto fica vazia..
desculpe colega eu não sei o que fiz com o código mas eis um exemplo dele funcional
ola marcelo, obrigado pela atenção mais uma vez... funcionou perteito
Tópico encerrado , respostas não são mais permitidas