Validar CNS(Cadastra Nacional de Saúde) no Excel
Prezados, bom dia.
Preciso de um help no excel.
Desculpe por parecer um abusado que quer tudo na mão, mas eu preciso disso urgente, e nesse momento, não tenho tempo para aprender, tal conhecimento buscarei assim que a poeira baixar.
Preciso de uma ajuda para converter essa rotina de JAVA em uma fórmula para excel.
Alguém pode me salvar?
Segue:
Preciso de um help no excel.
Desculpe por parecer um abusado que quer tudo na mão, mas eu preciso disso urgente, e nesse momento, não tenho tempo para aprender, tal conhecimento buscarei assim que a poeira baixar.
Preciso de uma ajuda para converter essa rotina de JAVA em uma fórmula para excel.
Alguém pode me salvar?
Segue:
Rotina de validação de Números que iniciam com “1” ou “2” // JavaScript Document <!-- /* *Chamar a rotina em um evento do form. Exemplo: <input name="cns" type="text" title="cns" onChange="validaCNS(this.value)" value="cns" size="15" maxlength="15" /> */ // Validação CNS function validaCNS(vlrCNS) { // Formulário que contem o campo CNS var soma = new Number; var resto = new Number; var dv = new Number; var pis = new String; var resultado = new String; var tamCNS = vlrCNS.length; if ((tamCNS) != 15) { alert("Numero de CNS invalido"); return false; } pis = vlrCNS.substring(0,11); soma = (((Number(pis.substring(0,1))) * 15) + ((Number(pis.substring(1,2))) * 14) + ((Number(pis.substring(2,3))) * 13) + ((Number(pis.substring(3,4))) * 12) + ((Number(pis.substring(4,5))) * 11) + ((Number(pis.substring(5,6))) * 10) + ((Number(pis.substring(6,7))) * 9) + ((Number(pis.substring(7,8))) * 8) + ((Number(pis.substring(8,9))) * 7) + ((Number(pis.substring(9,10))) * 6) + ((Number(pis.substring(10,11))) * 5)); resto = soma % 11; dv = 11 - resto; if (dv == 11) { dv = 0; } if (dv == 10) { soma = (((Number(pis.substring(0,1))) * 15) + ((Number(pis.substring(1,2))) * 14) + ((Number(pis.substring(2,3))) * 13) + ((Number(pis.substring(3,4))) * 12) + ((Number(pis.substring(4,5))) * 11) + ((Number(pis.substring(5,6))) * 10) + ((Number(pis.substring(6,7))) * 9) + ((Number(pis.substring(7,8))) * 8) + ((Number(pis.substring(8,9))) * 7) + ((Number(pis.substring(9,10))) * 6) + ((Number(pis.substring(10,11))) * 5) + 2); resto = soma % 11; dv = 11 - resto; resultado = pis + "001" + String(dv); } else { resultado = pis + "000" + String(dv); } if (vlrCNS != resultado) { alert("Numero de CNS invalido"); return false; } else { alert("Numero de CNS válido"); return true; } } --> Rotina de validação de Números que iniciam com “7”, “8” ou “9” function ValidaCNS_PROV(Obj) { var pis; var resto; var dv; var soma; var resultado; var result; result = 0; pis = Obj.value.substring(0,15); if (pis == "") { return false } if ( (Obj.value.substring(0,1) != "7") && (Obj.value.substring(0,1) != "8") && (Obj.value.substring(0,1) != "9") ) { alert("Atenção! Número Provisório inválido!"); return false } soma = ( (parseInt(pis.substring( 0, 1),10)) * 15) + ((parseInt(pis.substring( 1, 2),10)) * 14) + ((parseInt(pis.substring( 2, 3),10)) * 13) + ((parseInt(pis.substring( 3, 4),10)) * 12) + ((parseInt(pis.substring( 4, 5),10)) * 11) + ((parseInt(pis.substring( 5, 6),10)) * 10) + ((parseInt(pis.substring( 6, 7),10)) * 9) + ((parseInt(pis.substring( 7, 8),10)) * 8) + ((parseInt(pis.substring( 8, 9),10)) * 7) + ((parseInt(pis.substring( 9,10),10)) * 6) + ((parseInt(pis.substring(10,11),10)) * 5) + ((parseInt(pis.substring(11,12),10)) * 4) + ((parseInt(pis.substring(12,13),10)) * 3) + ((parseInt(pis.substring(13,14),10)) * 2) + ((parseInt(pis.substring(14,15),10)) * 1); resto = soma % 11; if (resto == 0) { return true; } else { alert("Atenção! Número Provisório inválido!"); return false; } } Observações: 1) Não existe máscara para o CNS nem para o Número Provisório. O número que aparece no cartão de forma separada (898 0000 0004 3208) deverá ser digitado sem as separações. 2) O 16º número que aparece no Cartão é o número da via do cartão, não é deverá ser digitado.
Filipe Silva
Curtidas 0
Melhor post
Fabiano Carvalho
24/12/2015
Essa parece ser a solução
http://ramblings.mcpher.com/Home/excelquirks/snippets/scriptcontrol
Ou então, é necessário converto-lo manualmente para VBA;
http://ramblings.mcpher.com/Home/excelquirks/snippets/scriptcontrol
Ou então, é necessário converto-lo manualmente para VBA;
GOSTEI 1