............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

VERIFICADOR DE RUT - Clave en CHILE

Ver el tema anterior Ver el tema siguiente Ir abajo

VERIFICADOR DE RUT - Clave en CHILE

Mensaje por GalileoGali el Jue Abr 10, 2008 11:34 pm

Para todos aquellos a quienes les resulte util aca va un VERIFICADOR DE RUT


DESCARGAR ARCHIVO

En el módulo del formulario insertar este codigo:

Código:
Private Sub CmdSalir_Click()
End
End Sub

Código:
Private Sub TxtRut_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Key = (Enter) Then
    If RuT(TxtRut) = False Then
        MsgBox ("rut incorrecto")
        TxtRut = Empty
    End If
    End If
End Sub

En Un modulo ESTANDAR

Código:
Option Explicit
Public I As Byte
Public Z As Byte
Public CadenaLimpiA As String
Public DiG As String
Public XXXX As Byte

Function RuT(CadenA As String) As Boolean

If CadenA <> Empty And Val(CadenA) <> 0 Then
    'Limpia Cadena
    For I = 1 To Len(CadenA)
        If (Mid(CadenA, I, 1)) = "-" Or (Mid(CadenA, I, 1)) = "." Then
            'pasa al siguiente espacio
        Else
            CadenaLimpiA = CadenaLimpiA + Mid(CadenA, I, 1)
        End If
    Next
   
    'Prepara Variables
    CadenA = CadenaLimpiA
    DiG = (Mid(CadenaLimpiA, (Len(CadenaLimpiA)), 1))
    If Asc(DiG) <= 47 Or Asc(DiG) >= 58 Then
        If DiG = "K" Or DiG = "k" Then
            DiG = "10"
        Else
          DiG = "12"
        End If
    End If
   
    CadenaLimpiA = Empty
   
    For I = 1 To (Len(CadenA) - 1)
        CadenaLimpiA = CadenaLimpiA + (Mid(CadenA, I, 1))
    Next
   
    CadenA = Empty
    I = Empty
    I = (Len(CadenaLimpiA))
    Z = 2
    While I <> 0
        If Z <> 8 Then
            CadenA = Val(CadenA) + (Val((Mid(CadenaLimpiA, I, 1))) * Z)
            Z = Z + 1
        Else
            Z = 2
            CadenA = Val(CadenA) + (Val((Mid(CadenaLimpiA, I, 1))) * Z)
            Z = Z + 1
        End If
        I = I - 1
    Wend
   
   
    Z = 11 - (Val(CadenA) - Int((Val(CadenA)) / 11) * 11)
   
    XXXX = Asc(DiG)
        If DiG = 0 And Z = 11 Then
            RuT = True
        Else
                If Z = DiG Then
                    RuT = True
                Else
                    RuT = False
                End If
        End If
Else
    RuT = False
End If
CadenA = Empty
CadenaLimpiA = Empty

End Function

Public Sub Modulo()
Load UserForm1
UserForm1.Show
End Sub

Se agradece a jimcov este código publicado por el.

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional

GalileoGali
Admin

Masculino Cantidad de envíos: 1962
Edad: 58
Ciudad - Pais: QUIROGA, Argentina
Version de Excel: 2000-2003-2007-2010
Fecha de inscripción: 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permisos de este foro:
No puedes responder a temas en este foro.