Na publicação de hoje vou te mostrar como fazer a Fórmula SE através de códigos. Para utilizá-la, vamos precisar conhecer melhor o If VBA! Conhecer essa estrutura vai melhorar e muito seus códigos e fazer você avançar na programação com VBA!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!
A fórmula SE no Excel e no VBA irá realizar um teste lógico, para verificar se uma condição é verdadeira, e nos retornar um resultado específico se essa condição for verdadeira, e um outro se ela for falsa.
O If VBA faz um teste com uma regra para determinar qual caminho irá seguir. O número de caminhos em uma estrutura simples é apenas dois: o If (se) e o Else (senão). Sendo que ele executa só um por vez, a depender do resultado da condição.
A estrutura condicional permite tornar o código mais robusto e inteligente. Afinal, decisões serão tomadas com base no comportamento dos dados e em alterações prévias. Assim, o programador já estabelece alguns gatilhos para estabelecer mudanças no fluxo e no funcionamento da planilha.
Pode ser, por exemplo, mudar uma célula com base em outra. Ou qualquer outra ação. Tudo depende do que você precisa fazer, e a estrutura condicional facilita sua vida, automatizando certas funções.
Aliás, assim, o programador consegue incorporar o VBA ao seu dia a dia e gerar valor com o uso da linguagem.
Existem diversas fórmulas no VBA que podem modificar os dados que são usados a partir do Excel.
Nesse post, iremos cobrir a explicação da fórmula SE no VBA, que foi mencionada no vídeo de exemplo, mais um da nossa série de consolidação de dados em planilhas.
Observe abaixo a tabela presente no vídeo, contendo a função que iremos abordar:
Queremos falar sobre quando uma situação de uma determinada venda é considerada Boa ou Ruim, de acordo com a classificação mostrada pela legenda em E1:F2.
Para criar o código para utilizar nossas fórmulas de texto precisamos Inserir um novo Módulo depois de abrir o VBA (Alt(+Fn)+F11), como já vimos em outros posts. Criaremos uma sub de nome qualquer (nesse caso daremos o nome de if_vba) para inserir o código desejado.
Sub if_vba()
If Range(“B2”).Value >= 100000 Then
Range(“C2”).Value = “Boa”
Else
Range(“C2”).Value = “Ruim”
End If
End Sub
Se o valor da célula B2 for maior ou igual a 100000 (cem mil), escreva “Boa” na célula C2.
Caso contrário (seja menor que 100000), escreva “Ruim” em C2.
A fórmula If irá testar uma condição específica que iremos passar, e, caso ela seja verdadeira, irá fazer tudo que estiver após o “Then”.
Caso ela não seja verdadeira, era lerá o que está “dentro” do Else, que é o “caso contrário” ao que está sendo testado.
Seguindo essa estrutura, o End If irá “fechar” o teste lógico.
Iremos repetir o mesmo código para as linhas 3, 4, 5 e 6, apenas mudando o número da linha respectiva das células e apertando em F5 novamente. Assim, todas as situações de venda ficarão preenchidas e classificadas de acordo com o nosso teste lógico.
Se você já sabe usar o if, é preciso também entender como funciona o Else If. Trata-se de um complemento lógico importante.
Você já viu que o Else não precisa especificar uma condição, pois ele representa o contrário do if.
Já no Else If, você especifica necessariamente uma condição que seja diferente da inicial, do if, e consegue aumentar a complexidade do seu bloco condicional.
Ela precisa ser completamente diferente da regra do If, porque senão o programa vai executar a ação do If e pular para fora da estrutura.
Digamos que você queira fazer uma ação com uma célula se ela tem um número maior do que 50. Então, usaria um If:
If Range(“B2”).Value > 50
Para complementar, você pode definir um ElseIf que busca uma outra condição, especificando ainda mais o tratamento das possibilidades do código.
ElseIf Range(“B2”).Value = 50
Então, somente se o valor dessa célula for diferente de 50 e menor do que 50 o fluxo vai cair no Else final.
Ou seja, o Else If serve para definir mais uma regra. Ele não tem limites; você pode adicionar quantas regras precisar para deixar o seu código mais completo e abrangente.
Em algumas linguagens, você não precisa explicitar o Then, mas no VBA, ele é obrigatório. Basicamente, é uma cláusula para indicar a estrutura do If e determinar o que vem depois, como um comando.
O que surge depois do Then é a ação que será executada caso a condição seja cumprida. Há linguagens que utilizam chaves para isso ({).
Além de representar, como já falamos, um teste lógico, o If then representa sobretudo um controle de fluxo da execução do programa. O fluxo é interrompido e é retomado apenas depois que a condição é analisada.
Até porque a execução de qual bloco é algo que será decidido apenas em tempo de execução. O programa não sabe inicialmente qual é o bloco, mas precisará fazer uma análise das regras.
Isso fica bem evidente quando se tem uma estrutura condicional maior.
Quer continuar evoluindo em VBA e em Excel? Confira nosso curso e saiba como!
O If VBA é muito importante no ambiente do Excel e do VBA, pois ele pode ser utilizada em conjunto com outras fórmulas, e realizar procedimentos complexos que irão te ajudar de inúmeras maneiras.
Fique ligado no nosso Blog para mais conteúdo e na nossa série de compilação de planilhas no VBA. Até mais!
Expert em VBA e Power BI da Hashtag Treinamentos. Auxilia no suporte aos alunos da Hashtag Treinamentos e na criação de conteúdos para os que acompanham nossos canais.