terça-feira, 21 de março de 2017

Validador de CNPJ

Validador de CNPJ
O CNPJ (Cadastro Nacional de Pessoa Jurídica) é um documento emitido pela Secretaria da Receita Federal do Ministério da Fazenda. Seu número é composto por 14 dígitos, sendo os dois últimos os dígitos verificadores, que atestam se o número do CPF é válido, sendo estes o resultado da soma da multiplicação de cada um dos doze primeiros dígitos com os números 6-7-8-9-2-3-4-5-6-7-8-9, parece confuso não é, mas vamos descomplicar.

Para fazermos o cálculo de validação do CNPJ vamos tomar como base o seguinte CNPJ 44.455.566/0001-83, lembrando que esse CNPJ não existe, apenas estamos o tomando como base para explicação.

Como falado anteriormente são os dois últimos dígitos que atestam se o CNPJ é valido, e estes são calculados baseando-se nos 12 primeiros dígitos.

A validação de um CNPJ se dá em duas etapas, na primeira vamos descobrir o primeiro digito verificador que é obtido através do resto da divisão da soma da multiplicação de cada um dos 9 primeiros dígitos, respectivamente, por 6, 7, 8, 9, 2, 3, 4, 5, 6, 7, 8 e 9, por 11. Complicado? Vejamos a seguir.

Primeira etapa.
I - Distribua os números de 6, 7, 8, 9, 2, 3, 4, 5, 6, 7, 8 e 9, respectivamente, na primeira linha de uma tabela, e na linha abaixo distribua os 12 primeiros dígitos do CNPJ, respectivamente;
II - Multiplique os valores de cada coluna da posição 1 até a 12;
III - Calcule o somatório do resultado das multiplicações (24+28+32+45+10+15+24+30+0+0+0+9) = 217;
IV = O resultado obtido (217) será divido por 11.

O resto obtido por essa divisão, arredondando para cima caso seja uma dizima muito grande, serão nosso primeiro digito verificador, atentando que o resto 10 é considerado (0).


No cálculo acima conseguimos o primeiro dígito verificador (8). Para o segundo dígito verificador, o procedimento é bem parecido e usaremos o primeiro digito verificador no cálculo, acrescentamos ao somatório a multiplicação pelo primeiro dígito obtido anteriormente.

Segunda etapa
I - Para calcular o segundo dígito verificador, fazemos o cálculo conforme ao primeiro dígito, acrescentando ao CNPJ o dígito encontrado no passo anterior e iniciando a multiplicação por 5;
II - Faça a somatória da multiplicação das colunas (20+24+28+40+45+10+18+24+0+0+0+8+72) = 289;
III - Encontre o resto da divisão da somatória (289) por 11.

O resto obtido por essa divisão, arredondando para cima caso seja uma dizima muito grande, serão nosso segundo digito verificador, atentando que o resto 10 é considerado (0).


No cálculo acima achamos o segundo digito verificador como sendo 3 com isso o nosso digito verificador fica sendo 83, logo o nosso CNPJ 44.455.566/0001-83 é um CNPJ valido.

ATENÇÃO:
Lembramos que o cálculo acima apenas vai informar se o CNPJ é válido ou não, não sendo possível, com ele, saber se o CNPJ realmente existe ou não, para essa verificação é necessário consultar o site da Receita Federal do Brasil.

segunda-feira, 20 de março de 2017

Validador de CPF

Validador de CPF
O CPF (Cadastro de Pessoa Física) é um documento emitido pela Secretaria da Receita Federal do Ministério da Fazenda. Seu número é composto por 11 dígitos, sendo os dois últimos os dígitos verificadores, que atestam se o número do CPF é válido, sendo estes o resultado da soma da multiplicação de cada um dos nove primeiros dígitos com o número correspondente a sua posição, parece confuso não é, mas vamos descomplicar.

Para fazermos o cálculo de validação do CPF vamos tomar como base o seguinte CPF 150.315.721-08, lembrando que esse CPF não existe, apenas estamos o tomando como base para explicação.
Como falado anteriormente são os dois últimos dígitos que atestam se o CPF é valido, e estes são calculados baseando-se nos 9 primeiros dígitos.

A validação de um CPF se dá em duas etapas, na primeira vamos descobrir o primeiro digito verificador que é obtido através do resto da divisão da soma da multiplicação de cada um dos 9 primeiros dígitos, respectivamente, por 1, 2, 3, 4, 5, 6, 7, 8 e 9, por 11. Complicado? Vejamos a seguir.

Primeira etapa.
I - Distribua os números de 1 a 11, respectivamente, na primeira linha de uma tabela, e na linha abaixo distribua os 9 primeiros dígitos do CPF, respectivamente;

II - Multiplique os valores de cada coluna da posição 1 até a 9;

III - Calcule a somatória dos resultados das multiplicações (1+10+0+12+5+30+49+16+9) = 132;

IV = O resultado obtido (132) será divido por 11.

O resto obtido por essa divisão, arredondando para cima caso seja uma dizima muito grande, serão nosso primeiro digito verificador, atentando que se esse número for menor que 3 ou maior que 9 devemos considerar o primeiro digito com sendo (0).



No cálculo acima conseguimos o primeiro dígito verificador (0). Para o segundo dígito verificador, o procedimento é bem parecido e usaremos o primeiro digito verificador no cálculo, acrescentamos ao somatório a multiplicação pelo primeiro dígito obtido anteriormente.

Segunda etapa
I - Para calcular o segundo dígito verificador, fazemos o cálculo conforme ao primeiro dígito, acrescentando ao CPF o dígito encontrado no passo anterior e iniciando a posição por 0;

II - Faça a somatória da multiplicação das colunas (0+5+0+9+4+25+42+18+9+0) = 107;

III - Encontre o resto da divisão da somatória (107) por 11.

O resto obtido por essa divisão, arredondando para cima caso seja uma dizima muito grande, serão nosso segundo digito verificador, atentando que se esse número for menor que 3 ou maior que 9 devemos considerar o primeiro digito com sendo (0).


No cálculo acima achamos o segundo digito verificador como sendo 8, com isso nosso digito verificador fica sendo 08, logo o nosso CPF 150.315.721-08 é um CPF valido.

ATENÇÃO:
Lembramos que o cálculo acima apenas vai informar se o CPF é válido ou não, não sendo possível, com ele, saber se o CPF realmente existe ou não, para essa verificação é necessário consultar o site da Receita Federal do Brasil.

sexta-feira, 17 de março de 2017

Downloads Excel

Função PROCV: https://1drv.ms/x/s!AkZuOfknZyfRiTIjjM1oHhqMzVyI

Função SE: https://1drv.ms/x/s!AkZuOfknZyfRiTPCQTyo94x6czpV

Função E: https://1drv.ms/x/s!AkZuOfknZyfRiTp40j8wOoIfDZTP

Função OU: https://1drv.ms/x/s!AkZuOfknZyfRiT8ZkRqsIqX2WFuY

Validador de CPF: https://1drv.ms/x/s!AkZuOfknZyfRiTeH9a5KS6TuB2PF

Validador de CNPJ: https://1drv.ms/x/s!AkZuOfknZyfRiTeH9a5KS6TuB2PF


Função SE

Função SE
A função SE é uma função de comparação que excuta uma ação caso essa comparação seja verdadeira e uma outra ação caso se falsa. Seu funcionamento se dá da seguinte maneira: o usuário digita o sinal de “=” seguindo de SE e “(“, nesse momento você deve fazer a comparação que deseja verificar se é verdadeira ou falsa usando os operadores relacionais (<, >, =, >=, <=, <>) conforme tabela 1, em seguida digitasse “;”, agora deve ser informado o que deseja fazer caso a comparação resulte em verdadeiro, em seguida digitasse “;”, e por fim deve ser informado o que deseja fazer caso a comparação resulte em falso e “)”.

Operadores Relacionais
=             Igual a
<>          Diferente
>=          Maior ou igual
>             Maior que
<             Menor que
<=          Maior ou igual
Tabela 1: Operadores Relacionais

 Veja um exemplo a seguir:

Ex.: No exemplo abaixo vamos verificar se determinado aluno foi aprovado ou reprovado a partir de um comparativo com sua nota.



 No exemplo acima usamos os seguintes códigos para saber se o aluno foi aprovado ou reprovado:

=SE(D4<5;"Reprovado";"Aprovado")

No exemplo acima a função está fazendo um comparativo de valores onde caso a nota do aluno seja menor que 5 vai trazer a palavra “Reprovado”, caso contrário, ou seja, a nota seja 5 ou maior que 5 retornará a palavra “Aprovado”.
Obs.: A ação a ser realizada caso o resultado da comparação seja verdadeiro ou falso pode ser tanto trazer uma palavra quanto executar uma formula do Excel.


Vídeo Explicativo: Disponível em breve.

Estrutura de Decisão e Operadores Relacionais

Estrutura de Decisão
A estrutura de decisão é um comando que permite a realizações de um teste lógico fazendo com que seu código escolha um caminho ou outro quando se deparar com determinada situação, ou seja, ela funciona na execução do código quando chega em uma situação onde ele tenha que rodar uma linha de comando ou outra, onde caso o teste de verdadeiro e faz uma rotina e caso seja falso executa outra.
A estrutura de decisão é um dos comandos mais usados na programação, seja em VBA ou em qualquer outra linguagem de comando o programador sempre vai ter situações onde terá que escolher executar uma rotina ou outra. Vejamos sua estrutura a seguir:

If [condição se verdadeiro] Then
[código se verdadeiro]
Else
[código se falso]
End if

Onde:
If representa o comando se;
[condição se verdadeiro] deve ser substituído pela condição se verdadeiro, escrever sem os colchetes;
Then representa o comando então faça;
[código se verdadeiro] deve ser substituído pelo código a ser rodado caso atenda a condição, escrever sem os colchetes;
Else representa o comando senão;
[código se falso] deve ser substituído pelo código a ser rodado caso não atenda a condição, escrever sem os colchetes;
End If representa o fim da instrução.

Ex.: Vamos criar um código onde informando um número ele vai informar se esse número é par ou ímpar, vejamos a seguir.

Sub ParImpar()
‘ Variável criada para receber o número a ser comparado
Dim Numero as Integer
‘Inserindo um número, o comando InputBox abre uma caixa de diálogo para inserir um valor
Numero = InputBox("Valor",”Digite um Número”)
‘Teste se é par, o comando Mod traz o resto da divisão por determinado valor, no caso 2, se na divisão sobrar 0 o número é par se não é ímpar.
If (Numero Mod 2) = 0 Then
MsgBox(“O Número é Par”)
Else
MsgBox(“O Número é Ímpar”)
End If
End Sub

Operadores Relacionais
Os operadores relacionais possibilitam fazer comparações entre dois elementos. Existem 6 operadores relacionais conforme a tabela seguir:

Tabela
 =           Igual a
<>          Diferente
>=          Maior ou igual
 >           Maior que
 <           Menor que
<=          Maior ou igual

Além dos operadores relacionais, existem os chamados operadores lógicos ou "conectivos lógicos". Estes, servem para conectar duas expressões relacionais, ou seja, são usados para adicionar mais de um critério na verificação. Vejamos quais são na tabela a Abaixo:

Operadores Lógicos
OR          Ou
AND       E
NOT       Negação

Onde:
OR -> Esse operador deve ser usado quando um ou outro critério estiver correto, neste caso se a verificação atender um dos dois critérios ela vai ser considerada como verdadeira.
AND -> Esse operador deve ser usado quando os dois critério tiverem que estar correto, neste caso para ser verdadeiro os dois critérios tem que ser atendido, se a verificação atender apenas um dos dois critérios ela vai ser considerada como falsa.
NOT -> Esse Operador deve ser usado quando você quiser negar o que estiver após ele, ou seja, se escrever um comando que resultara em verdadeiro e colocar e NOT na frente ele o tornara falso.
Ex.: No exemplo abaixo tomando como referência o exemplo anterior ele só vai falar se o número é par caso o resto de sua divisão seja 0 e ele seja menor que 10, caso não atenda a esses dois critérios o resultado serão sempre ímpar.

Sub ParImpar()
‘ Variável criada para receber o número a ser comparado
Dim Numero as Integer
‘Inserindo um número, o comando InputBox abre uma caixa de diálogo para inserir um valor
Numero = InputBox("Valor",”Digite um Número”)
‘Teste se é par, o comando Mod traz o resto da divisão por determinado valor, no caso 2, se na divisão sobrar 0 o número é par se não é ímpar.
If (Numero Mod 2) = 0 AND Numero < 10 Then
MsgBox(“O Número é Par”)
Else
MsgBox(“O Número é Ímpar”)
End If
End Sub


Vídeo Explicativo: https://www.youtube.com/watch?v=liG_bAu5_M8&t=179s

quinta-feira, 16 de março de 2017

Função PROCV

Função PROCV
A função PROCV é uma função de pesquisa e retorno do Excel, com ela você pode procurar um determinado valor ou palavra em uma tabela e retornar o conteúdo que está na linha desta palavra. Ele funciona da seguinte maneira: o usuário digita o sinal de “=” seguindo de PROCV e “(“, nesse momento você deve escolher o valor que você deseja que seja procurado na tabela, ela pode ser uma palavra ou a referência de uma célula, em seguida digitasse “;” agora deve ser selecionado a tabela onde deve ser procurado o valor escolhido, lembrando que a seleção deve iniciar da coluna onde está a palavra procurada, em seguida digitasse “;”, agora deve ser informado o número da coluna onde está o conteúdo que você deseja que seja retornado começando a contar da primeira coluna selecionada na tabela onde está o item procurado, em seguida digitasse “;”, e por último deve ser digitado “FALSO” e “)”. Veja um exemplo a seguir:
Ex.: No exemplo abaixo vamos procurar o nome a idade, UF e Cidade em uma tabela a partir do código do cliente.





No exemplo acima usamos os seguintes códigos para achar as informações requeridas:

Nome: "=PROCV(A4;G3:K22;2;FALSO)"
Idade: "=PROCV(A4;G3:K22;3;FALSO)"
UF: "=PROCV(A4;G3:K22;4;FALSO)"
Cidade: "=PROCV(A4;G3:K22;5;FALSO)"

Onde o valor procurado está na célula A4, a tabela onde está a informação e da G3 até a K22 e o retorno que queremos está nas colunas 2,3,4 e 5, digitando FALSO o final informando que queremos que procure por um conteúdo idêntico ao item procurado.

Vídeo Explicativo: Disponível em breve.

Estrutura de Repetição

Estrutura de Repetição
A estrutura de repetição é um código, ou linha de comando, que permite com que determinada rotina seja repetida por n vezes, essa estrutura é muito utilizada quando é necessário fazer pesquisar, gerar relatórios entre outros.
As estruturas de repetição poder ser escritas de 3 formas, são elas:

Estrutura For...Next
Essa estrutura é utilizada quando precisamos repedir um código uma quantidade de vezes já conhecida. Esse código é ideal quando já sabemos quantas repetições queremos fazer, sua construção consiste basicamente em informar quando ela deve começar e quando deve para. Vejamos a seguir a sua estrutura:

For i = 1 To 10
[código a ser repetido]
Next

Onde:
For representa o comando faça;
i é uma variável determinada por você que pode ser substituída por outra letra ou palavra;
1 representa onde iniciará a contagem das vezes que será repetido;
10 representa quando terminará a contagem das repetições;
[código a ser repetido] deve ser substituído pelos comandos que devem ser repetidos, escrever sem os colchetes;
Next representa o comando próxima repetição.

Obs.: Na representação acima o código em questão será repetido por 10 vezes, onde a variável i irá assumir os valores sequenciais de 1 até 10 a cada vez que o código for repetido.

Estrutura Do While...Loop
Essa estrutura é utilizada quando precisamos repedir um código uma quantidade de vezes desconhecida. Esse código é ideal quando não sabemos quantas repetições serão necessárias para concluir a verificação, sua construção consiste basicamente em informar em que momento a repetição deve continuar. Vejamos a seguir a sua estrutura:

Do While [condição para parar]
[código a ser repetido]
Loop

Onde:
Do While representa a condição faça enquanto;
[condição para parar] deve ser substituído pela condição a qual o código deve atender para continuar a repetir, escrever sem os colchetes;
[código a ser repetido] deve ser substituído pelos comandos que devem ser repetidos, escrever sem os colchetes;
Loop representa o comando próxima repetição.

Obs.: Na representação acima o código em questão irá ser repetido por um número indeterminado de vezes, tendo sua repetição atrelada ao atendimento da condição estabelecida para parada da repetição.

Estrutura Do Until...Loop
Essa estrutura é utilizada quando precisamos repedir um código uma quantidade de vezes indeterminada. Esse código é ideal quando não sabemos quantas repetições serão necessárias para concluir a verificação, sua construção consiste basicamente em informar em que momento a repetição deve parar. Vejamos a seguir a sua estrutura:

Do Until [condição para parar]
[código a ser repetido]
Loop

Onde:
Do until representa a condição faça até;
[condição para parar] deve ser substituído pela condição a qual o código deve atender para parar de repetir, escrever sem os colchetes;
[código a ser repetido] deve ser substituído pelos comandos que devem ser repetidos, escrever sem os colchetes;
Loop representa o comando próxima repetição.
Obs.: Na representação acima o código em questão irá ser repetido por um número indeterminado de vezes, tendo sua finalização atrelada ao atendimento da condição estabelecida para parada da repetição.


ATENÇÃO: Na estrutura Do While...Loop e Do Until...Loop o Código dentro da repetição deve ser capaz de tornar a condição Verdadeira, pois caso contrário a condição nunca será atendida, e os comandos dentro do laço ficarão em execução infinita, ou até o programa travar.