Public Function IsValidCPF(ByVal strCPF As String) As Boolean
Option Explicit
Public Function IsValidCPF(ByVal strCPF As String) As Boolean
Dim intDigito As Integer
Dim intIndex As Integer
Dim intModulo As Integer
Dim intSoma1 As Integer
Dim intSoma2 As Integer
Dim intDigitoVerificador1 As Integer
Dim intDigitoVerificador2 As Integer
intSoma1 = 0
intSoma2 = 0
For intIndex = 1 To 9
intDigito = CInt(Mid$(strCPF, intIndex, 1))
intSoma1 = intSoma1 + ((11 - intIndex) * intDigito)
intSoma2 = intSoma2 + ((12 - intIndex) * intDigito)
Next
intModulo = intSoma1 Mod 11
If intModulo < 2 Then
intDigitoVerificador1 = 0
Else
intDigitoVerificador1 = 11 - intModulo
End If
intSoma2 = intSoma2 + (2 * intDigitoVerificador1)
intModulo = intSoma2 Mod 11
If intModulo < 2 Then
intDigitoVerificador2 = 0
Else
intDigitoVerificador2 = 11 - intModulo
End If
IsValidCPF = ( _
(Mid$(strCPF, 10, 1) = CStr(intDigitoVerificador1)) And _
(Mid$(strCPF, 11, 1) = CStr(intDigitoVerificador2)) _
)
End Function