Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/08/2005, 09:19
Sebasedeno
 
Fecha de Ingreso: septiembre-2004
Ubicación: Pilar - Cordoba - Argentina
Mensajes: 29
Antigüedad: 19 años, 7 meses
Puntos: 0
Aqui te paso amigo un codigo que utilizo para validar los cuits de los clientes en un sistema administrativo, espero que te sirva.

Public Function CalcularCUIT(ByVal p_cuit As String) As Boolean
Dim rsum As Long
Dim rtotsum As Long
Dim rResto As Long
Dim rVerificador As Long
Dim cuit_rearmado As String
Dim i As Byte

For i = 1 To Len(p_cuit) 'separo cualquier caracter que no tenga que ver con numeros
If Asc(Mid(p_cuit, i, 1)) >= 48 And Asc(Mid(p_cuit, i, 1)) <= 57 Then
cuit_rearmado = cuit_rearmado & Mid(p_cuit, i, 1)
End If
Next
p_cuit = cuit_rearmado


rsum = CLng(Mid(p_cuit, 10, 1)) * 2
rtotsum = rtotsum + rsum
rsum = CLng(Mid(p_cuit, 9, 1)) * 3
rtotsum = rtotsum + rsum
rsum = CLng(Mid(p_cuit, 8, 1)) * 4
rtotsum = rtotsum + rsum
rsum = CLng(Mid(p_cuit, 7, 1)) * 5
rtotsum = rtotsum + rsum
rsum = CLng(Mid(p_cuit, 6, 1)) * 6
rtotsum = rtotsum + rsum
rsum = CLng(Mid(p_cuit, 5, 1)) * 7
rtotsum = rtotsum + rsum
rsum = CLng(Mid(p_cuit, 4, 1)) * 2
rtotsum = rtotsum + rsum
rsum = CLng(Mid(p_cuit, 3, 1)) * 3
rtotsum = rtotsum + rsum
rsum = CLng(Mid(p_cuit, 2, 1)) * 4
rtotsum = rtotsum + rsum
rsum = CLng(Mid(p_cuit, 1, 1)) * 5
rtotsum = rtotsum + rsum

rResto = rtotsum Mod 11
If rResto = 0 Then
rVerificador = "0"
ElseIf rResto = 1 Then
rVerificador = "0"
Else
rVerificador = Trim(CStr(11 - rResto))
End If

If rVerificador <> Right(p_cuit, 1) Then
CalcularCUIT = False
Else
CalcularCUIT = True
End If

End Function