Radio Aportaciones:  
--:--  | : 4hs-8hs -
Toggle Bar

    Calculo Digito verificador NSS

    15 Abr 2009 16:15 #44510 por enrique_morales1979
    Les mando un archivito para calcular el digito verificador de los numeros de seguridad social, espero que le sirva a alguien


    saludos

    Este archivo está oculto a usuarios invitados.
    Por favor, inicie sesión o regístrese para verlo.


    Saludos
    Visita mi página
    www.freewebs.com/formatospc

    Este mensaje tiene un archivo adjunto.
    Por favor iniciar sesión o registrarse para verlo.

    El siguiente usuario dijo gracias: alonso23

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    15 Abr 2009 16:47 #44515 por gaboaranda
    Respuesta de gaboaranda sobre el tema Re: Calculo Digito verificador NSS
    Mi estimado quique cualquier aportacion de ti es siempre bien recibida!!!

    saludos

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    15 Abr 2009 17:22 #44518 por Daniel_Gtz
    Respuesta de Daniel_Gtz sobre el tema Re: Calculo Digito verificador NSS
    Gracias Quique...

    a mas de uno nos va a servir...

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    15 Abr 2009 17:42 #44519 por jpedro967
    Respuesta de jpedro967 sobre el tema Re: Calculo Digito verificador NSS
    Buen dia a todos:

    enriquemorales1979, sinceramente te agradezco la aportacion que acabas de hacer al foro, cheque el archivo y es funcional.

    GRACIAS

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    16 Abr 2009 23:09 #44596 por rod940512
    Respuesta de rod940512 sobre el tema Re: Calculo Digito verificador NSS
    CP ENRIQUE muy útil tu archivo.
    Gracias por compartirlo.

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    20 Abr 2009 19:14 #44828 por ByPaco
    Respuesta de ByPaco sobre el tema Re: Calculo Digito verificador NSS
    Para los fanáticos de las macros aquí les dejo esta función para calcular el dígito verificador, lo mismo pero más barato.

    Function NSS(Numero As String)
    If Len(Numero) < 10 Then 'Si tiene menos de 10 dígitos
    NSS = "Faltan Dígitos " & Numero 'Pone un mensaje seguido del número
    Exit Function 'y termina la función
    End If
    If Len(Numero) > 11 Then 'si tiene más de 11 dígitos
    NSS = "Muchos Dígitos " & Numero 'pone un mensaje seguido del número
    Exit Function 'y termina la función
    End If
    Dim i As Integer 'para cada dígito
    Dim j As Integer 'para la suma
    Dim k As Integer 'trabajo temporal
    For i = 1 To 10 'para cada digito, hasta la posición 10
    k = Val(Mid(Numero, i, 1)) 'convierte a valor
    If (i Mod 2) = 0 Then 'si la posición del dígito es par (el operador '= 1' define inpar)
    k = k * 2
    If k > 9 Then 'si el resultado es mayo a 9
    k = k - 10 'se suma el primer dígito
    k = k + 1 'con el primer dígito
    End If
    End If
    j = j + k
    Next i
    Digito = Application.WorksheetFunction.RoundUp(j, -1) - j 'al resultado le restamos la decena más alta y obtenemos el dígito
    If Len(Numero) = 10 Then 'si tiene 10 dígitos
    NSS = Mid(Numero, 1, 10) & Digito 'agrega el numero más el dígito
    End If
    If Len(Numero) = 11 And Digito = Val(Right(Numero, 1)) Then 'si tiene 11 dígitos y el último es igual al calculado
    NSS = Numero 'deja el numero igual
    ElseIf Len(Numero) = 11 And Digito <> Val(Mid(Numero, 11, 1)) Then 'si tiene 11 dígitos y el último no es igual al calculado
    'aparece un mensaje
    msg = MsgBox("El Dígito verificador " & Mid(Numero, 11, 1) & " del Número de Seguridad Social '" & Mid(Numero, 1, 10) & "' no corresponde a " & Digito & "." & Chr(13) & "¿Desea cambiarlo?", vbYesNo + vbQuestion, "Dígito Verificador" )
    If msg = vbYes Then 'si elije YES a cambiar el dígito
    NSS = Mid(Numero, 1, 10) & Digito 'pone el numero con el digito calculado
    Else 'si no
    NSS = Mid(Numero, 1, 10) & "?" 'pone el número con un signo en lugar del dígito
    End If
    End If
    End Function

    solo pondrian en la ceda =NSS(B1) ó =NSS(10 digitos del Número)
    considerando que la celda A2 es donde están los 10 dígitos del número

    « Antes de que los reinos cambien, los hombres deberán cambiar »

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    Tiempo de carga de la página: 0.203 segundos

    Ayúdanos a conservar este sitio!

    ¿Quién está en línea?

    Hay 153 invitados y ningún miembro en línea