Bom dia pessoal!
Eu tenho um curso de access e excel mas não entendo nada de VBA. Consegui essa função para validação do CPF e não consigo nada parecido para validar o CNPJ, alguém pode me ajudar?
_______________________________________________________________________
Function DVCPF(cpf As String) As String
Dim lngSoma, lngInteiro As Long
Dim intNumero, intMais, I, intResto As Integer
Dim intDig1, intDig2 As Integer
Dim strDigVer, strcampo, strCaracter, StrConf As String
Dim dblDivisao As Double
lngSoma = 0
intNumero = 0
intMais = 0
strcampo = Left(cpf, 9)
strDigVer = Right(cpf, 2)
For I = 2 To 10
strCaracter = Right(strcampo, I - 1)
intNumero = Left(strCaracter, 1)
intMais = intNumero * I
lngSoma = lngSoma + intMais
Next I
dblDivisao = lngSoma / 11
lngInteiro = Int(dblDivisao) * 11
intResto = lngSoma - lngInteiro
If intResto = 0 Or intResto = 1 Then
intDig1 = 0
Else
intDig1 = 11 - intResto
End If
strcampo = strcampo & intDig1
lngSoma = 0
intNumero = 0
intMais = 0
For I = 2 To 11
strCaracter = Right(strcampo, I - 1)
intNumero = Left(strCaracter, 1)
intMais = intNumero * I
lngSoma = lngSoma + intMais
Next I
dblDivisao = lngSoma / 11
lngInteiro = Int(dblDivisao) * 11
intResto = lngSoma - lngInteiro
If intResto = 0 Or intResto = 1 Then
intDig2 = 0
Else
intDig2 = 11 - intResto
End If
StrConf = intDig1 & intDig2
DVCPF = StrConf
If DVCPF = strDigVer Then
MsgBox "CPF válido!", vbInformation
Else
MsgBox "CPF inválido", vbCritical
DoCmd.CancelEvent
End If
End Function
______________________________________________________________________
Quem souber como faço esse mesmo tipo de função só que para o CPF, por favor, me ajude.
Obrigado a todos!
Eu tenho um curso de access e excel mas não entendo nada de VBA. Consegui essa função para validação do CPF e não consigo nada parecido para validar o CNPJ, alguém pode me ajudar?
_______________________________________________________________________
Function DVCPF(cpf As String) As String
Dim lngSoma, lngInteiro As Long
Dim intNumero, intMais, I, intResto As Integer
Dim intDig1, intDig2 As Integer
Dim strDigVer, strcampo, strCaracter, StrConf As String
Dim dblDivisao As Double
lngSoma = 0
intNumero = 0
intMais = 0
strcampo = Left(cpf, 9)
strDigVer = Right(cpf, 2)
For I = 2 To 10
strCaracter = Right(strcampo, I - 1)
intNumero = Left(strCaracter, 1)
intMais = intNumero * I
lngSoma = lngSoma + intMais
Next I
dblDivisao = lngSoma / 11
lngInteiro = Int(dblDivisao) * 11
intResto = lngSoma - lngInteiro
If intResto = 0 Or intResto = 1 Then
intDig1 = 0
Else
intDig1 = 11 - intResto
End If
strcampo = strcampo & intDig1
lngSoma = 0
intNumero = 0
intMais = 0
For I = 2 To 11
strCaracter = Right(strcampo, I - 1)
intNumero = Left(strCaracter, 1)
intMais = intNumero * I
lngSoma = lngSoma + intMais
Next I
dblDivisao = lngSoma / 11
lngInteiro = Int(dblDivisao) * 11
intResto = lngSoma - lngInteiro
If intResto = 0 Or intResto = 1 Then
intDig2 = 0
Else
intDig2 = 11 - intResto
End If
StrConf = intDig1 & intDig2
DVCPF = StrConf
If DVCPF = strDigVer Then
MsgBox "CPF válido!", vbInformation
Else
MsgBox "CPF inválido", vbCritical
DoCmd.CancelEvent
End If
End Function
______________________________________________________________________
Quem souber como faço esse mesmo tipo de função só que para o CPF, por favor, me ajude.
Obrigado a todos!