Rotinas para Validar CPF e CGC
Inicie o Visual Basic , Crie um form como abaixo e a seguir insira o código para cada
evento do controle MaskedBox. A seguir insira um módulo com as funções que irão checar o 
CGC e o CPF e fique a vontade para otimizá-las. Acho que o resto é intuitivo.
Rotinas do formulário Form1
Private Sub Maskcpfcgc_LostFocus()
    If Len(Maskcpfcgc.Text) > 0 Then
      Select Case Len(Maskcpfcgc.Text)
       Case Is = 11
         Maskcpfcgc.Mask = "###.###.###-##"
         If Not calculacpf(Maskcpfcgc.Text) Then
            MsgBox "CPF com DV incorreto !!!"
            Maskcpfcgc = ""
            Maskcpfcgc.Mask = "##############"
            Maskcpfcgc.SetFocus
         End If
       Case Is = 14
         Maskcpfcgc.Mask = "##.###.###/####-##"
         If Not ValidaCGC(Maskcpfcgc.Text) Then
            MsgBox "CGC com DV incorreto !!! "
            Maskcpfcgc = ""
            Maskcpfcgc.Mask = "##############"
            Maskcpfcgc.SetFocus
         End If
      End Select
    End If
End Sub
Private Sub Maskcpfcgc_GotFocus()
  Maskcpfcgc.Mask = "##############"
End Sub
Private Sub Maskcpfcgc_KeyPress(KeyAscii As Integer)
  'se teclar enter envia um TAB
  If KeyAscii = 13 Then
     SendKeys "{TAB}"
     KeyAscii = 0
  End If
End Sub

Private Sub Command1_Click()
   End
End Sub

Funções para Validar CPF e CGC
1- Validar CGC
Public Function CalculaCGC(Numero As String) As String

Dim I As Integer
Dim prod As Integer
Dim mult As Integer
Dim digito As Integer

If Not IsNumeric(Numero) Then
   CalculaCGC = ""
   Exit Function
End If

mult = 2
For I = Len(Numero) To 1 Step -1
  prod = prod + Val(Mid(Numero, I, 1)) * mult
  mult = IIf(mult = 9, 2, mult + 1)
Next

digito = 11 - Int(prod Mod 11)
digito = IIf(digito = 10 Or digito = 11, 0, digito)

CalculaCGC = Trim(Str(digito))

End Function
Public Function ValidaCGC(CGC As String) As Boolean
If CalculaCGC(Left(CGC, 12)) <> Mid(CGC, 13, 1) Then
   ValidaCGC = False
   Exit Function
End If

If CalculaCGC(Left(CGC, 13)) <> Mid(CGC, 14, 1) Then
   ValidaCGC = False
   Exit Function
End If

ValidaCGC = True

End Function
2- Validar CPF
Function calculacpf(CPF As String) As Boolean
'Esta rotina foi adaptada da revista Fórum Access
On Error GoTo Err_CPF
Dim I As Integer 'utilizada nos FOR... NEXT
Dim strcampo As String 'armazena do CPF que será utilizada para o cálculo
Dim strCaracter As String 'armazena os digitos do CPF da direita para a esquerda
Dim intNumero As Integer 'armazena o digito separado para cálculo (uma a um)
Dim intMais As Integer 'armazena o digito específico multiplicado pela sua base
Dim lngSoma As Long 'armazena a soma dos digitos multiplicados pela sua base(intmais)
Dim dblDivisao As Double 'armazena a divisão dos digitos*base por 11
Dim lngInteiro As Long 'armazena inteiro da divisão
Dim intResto As Integer 'armazena o resto
Dim intDig1 As Integer 'armazena o 1º digito verificador
Dim intDig2 As Integer 'armazena o 2º digito verificador
Dim strConf As String 'armazena o digito verificador

lngSoma = 0
intNumero = 0
intMais = 0
strcampo = Left(CPF, 9)

'Inicia cálculos do 1º dígito
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 'concatena o CPF com o primeiro digito verificador
lngSoma = 0
intNumero = 0
intMais = 0
'Inicia cálculos do 2º dígito
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
'Caso o CPF esteja errado dispara a mensagem
If strConf <> Right(CPF, 2) Then
    calculacpf = False
Else
    calculacpf = True
End If
Exit Function

Exit_CPF:
    Exit Function
Err_CPF:
    MsgBox Error$
    Resume Exit_CPF
End Function
Bye, bye...

Retorna