Codigo en VB para controlar CIUT

Gaston Flores
10 de Septiembre del 2005
Bueno amigos, no soy tan malo como me estan diciendo. Aqui les regalo un codigo fuente para controlar la validez de un C.I.U.T.

Private Sub TextCUIT_LostFocus()
Digito = Me.TextCUIT.Text
VerificarCUIT (Digito)
If SeñalCuit = False Then
MsgBox "El CUIT es incorrecto. Intentelo nuevamente.", vbCritical, "CUIT Erroneo"
Me.TextCUIT.SetFocus
End If
End Sub

Function VerificarCUIT(Digito)

Acumulador = 0
Resto = 0
Rayita = 0
Verificador = 0
DVerif = 0
ValDigito = 0
I = 0
Factor = 5

If Len(Digito) = 13 Then
For N = 1 To 13
If Mid(Digito, N, 1) = "-" Then
Rayita = Rayita + 1
End If
If Rayita > 2 Then
MsgBox "El CUIT es incorrecto. Intentelo nuevamente.", vbCritical, "CUIT Erroneo"
Me.TextCUIT.SetFocus
Exit Function
End If
Next N

Verificador = Mid(Digito, 13, 1)

For I = 1 To 11
If I <> 3 Then
ValDigito = Val(Mid(Digito, I, 1)) * Factor
Acumulador = Acumulador + ValDigito
Factor = Factor - 1
If Factor < 2 Then
Factor = 7
End If
End If
Next I
Resto = Int(Acumulador Mod 11)
DVerif = 11 - Resto

If DVerif = 11 Then
DVerif = 0
End If

If DVerif = Verificador Then
SeñalCuit = True
Else
SeñalCuit = False
End If
Else
SeñalCuit = False
End If

End Function

Eso si no me pregunten como es la verificacion de una CUIT porque no se los voy a explicar, lean el codigo y saquen sus propias concluciones.