Função IF
Agora, vamos ver juntos como se trabalha com as condicionais no VBA.
E as condicionais no VBA são dadas, essencialmente, aqui pela função If.
Começando aqui pela estrutura da nossa função.
Muito importante ter sempre na mente essa estrutura aqui.
É uma estrutura bem simples, vocês vão ver aqui comigo.
If é aqui o nosso comando inicial.
Então, o nosso comando If, ele chama uma condição.
Então, atrelado ao comando If vai ter uma condiçãozinha aqui.
E depois da condição then.
Ou seja, se tal condição, então, esse then aqui a gente lê pela tradução dele como então.
E se essa condição for verdade, então, essa área aqui, a nossa área executável, tudo que tiver aqui dentro disso vai virar uma ação executada.
Então, a gente vai estar executando essa área aqui do meio.
Então, se a nossa condição for verdade, essa área aqui do meio é executada independente do que tiver dentro dela.
A gente decide o que vai dentro dela.
Pode ser um messenger Box, pode um Inputbox para pedir outros dados, qualquer coisa que tiver aqui dentro vai ser executada.
E a gente finaliza isso com um End If.
Então, a gente começa com esse If, com a condição e com o then, e finaliza aqui com End If.
Lembrando que a condição, as coisas que você executa vêm logo depois dessa linha, não vem em seguida.
É muito comum ver aluno colocando aqui em seguida o que quer que execute, é logo abaixo.
Vamos aqui para o nosso Excel e a gente tem um case para testar tudo que a gente está falando e ter certeza do que a gente já aprendeu.
Aqui a gente tem um case do cofre parte 1.
Ele diz aqui que uma pasta supersegura, com uma senha super, ultra difícil, tem a seguinte senha: 12345.
Deseja-se criar um programa em VBA para ler uma senha digitada por inputbox, e que verifique se a senha está correta.
Então, a gente quer que esse programa leia
por inputbox a senha, e faça a verificação dela se tiver certa.
Se estiver certa essa senha, ou seja, se ela for 12345, a gente vai fazer o programa enviar uma mensagem dizendo, bem-vindo usuário.
Se ela não tiver certa, a gente vai fazer, absolutamente nada.
E a gente vai entender o que significa isso daqui futuramente.
Vamos aqui criar a nossa macro para começar, mão na massa, aqui na guia de exibição.
Então, aqui na guia exibir, a gente vai vir aqui no finalzinho em exibir macros.
Vamos criar uma macro qualquer aqui.
Por exemplo, case dois, dei um enter, e a gente abre aqui uma macro chamada case dois.
A primeira coisa que a gente precisa fazer é, só relembrar da estrutura de sub.
Então, tudo que tiver entre esses dois aqui, entre Sub e end sub é nosso programa.
Então, a gente vai escrever entre esses dois.
E a gente começa aqui dimensionando uma variável que vai comportar a senha.
Que a gente vai chamar ela de senha mesmo.
As Integer.
Uma coisa bastante importante de se atentar é: por mais que a senha seja um valor inteiro, nesse caso em especial, a senha tem cinco algorismos.
Por ter cinco algorismos, isso possibilita com que o valor seja maior de 30 mil em alguma situação.
Por exemplo, se nosso usuário entrar com valor de senha 9999.
Isso vai fazer com que a nossa senha seja maior que 30 mil.
Então a gente não vai poder usar Integer, a gente vai ter que usar o long.
Lembrando que o long é para números acima de 30 mil.
Dim senha As Long.
Vamos começar aqui testando a nossa senha.
Na verdade, antes de testar a senha, a gente vai ter que pedir essa senha para o usuário, como ele pede aqui no enunciado.
Então, faça um programa que peça ao usuário, por Inputbox, a senha.
Para pedir a senha, a gente vai dizer que a senha recebe, ou seja, a senha é igual, senha recebe, certo?
Por Inputbox, só que, antes disso a gente vai ter que verificar se o valor que ele está entrando é um long.
Para fazer essa verificação a gente vai usar o C de confirmation, LNG, abre parênteses e uma expressão.
Sendo LNG abreviação de Long.
Então, abrindo parênteses aqui, dentro do parêntese vai vir o que o usuário digitar naquela caixinha de entrada de dados que é o Inputbox.
Então, dentro aqui de CLNG, vai vim Inputbox, e o texto de Inputbox vai ser um texto qualquer para ajudar o usuário.
Por exemplo, qual a sua senha?
Fecha o parêntese do Inputbox, fecha o parêntese do CLNG.
E, então, a gente já pediu aqui para o nosso usuário a senha dele.
Agora, a gente tem que testar essa senha.
Para testar a senha é muito simples.
Se a senha for 12345, percebam que, eu falei se um (bisu/bizu) muito importante, que é: quando você na estrutura do seu enunciado ou quando você tiver lendo a sua prova, você tiver pensando no como você vai começar a responder e você se falar, se tal coisa acontecer, você vai ter que usar a função If.
Porque tem condicional aí.
Então, se a senha que é nossa variável, que já tem um valor digitado pelo usuário for igual a 12345, então, ou seja, then, a gente vai mandar um messenger box para o usuário dizendo: “Bem-vindo usuário.” Então, msg box, bem-vindo, usuário.
E aqui como é texto, a gente pode usar acentuação, e Ç também, porque por ser texto dá certo.
Agora a gente não consegue quando forem variáveis ou nomes de sub como esse daqui.
Então, bem-vindo usuário, fecha o parêntese, e a mensagem será enviada somente se essa senha for 12345.
Eu já finalizo aqui, o End If para nada acontecer, caso isso seja mentira.
Então, só acontece esse Messenger box se a senha for 12345.
Então, vamos executar nosso programa para ver como ele ficou.
Executando aqui no botãozinho azul, ele já mostra aqui o primeiro Inputbox, que é esse daqui, verificado aqui pelo CLNG, verificando se o que eu vou entrar é Long.
E sendo colocado, ou seja, imputado dentro da variável senha.
Vou digitar aqui uma senha incorreta.
Senha 12321, por exemplo.
Uma senha incorreta nada aconteceu porque ele passou por aqui, viu que era mentira e pulou aqui para o final, e finalizou a sub.
Agora, uma senha correta que é 12345, a gente vai entrar aqui.
Qual a sua senha?
12345, e aparece aqui uma Messenger box dizendo: “Bem-vindo, usuário.” Então, aqui, essa senha era verdade, ele mandou um Messenger box, dizendo bem-vindo.