Você sabe criar um function no VBA? Hoje eu vou te mostrar como fazer isso para facilitar seus trabalhos dentro do Excel!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Fala, Impressionadores! Hoje vamos te mostrar como criar uma função no VBA para facilitar seus trabalhos dentro do Excel!
Isso mesmo, vou te ensinar como criar uma função no VBA que você pode utilizar dentro do VBA como todas as outras funções que ele já tem.
Para a criação de função no VBA nós vamos ter que entrar no ambiente VBA e criar nosso código, para esse exemplo vai ser algo simples.
A ideia é criar uma macro que faz o cálculo do bônus de uma determinada venda de acordo com uma tabela.
Para isso vamos utilizar a estrutura de repetição for e a função if (estrutura condicional) para percorrer e verificar as informações dessa nossa tabela de bônus.
Com isso vamos saber em qual faixa está o valor desejado e vamos poder retornar o bônus de forma correta sem ter que utilizar várias funções SE ou utilizar a função SES no Excel.
E aí, bora aprender a criar uma função personalizada no Excel (ou uma função personalizada no VBA) para facilitar seus trabalhos no Excel e aumentar sua produtividade?
Arquivo de aula
No arquivo de aula temos uma tabela com a lista de vendedores de uma empresa, e suas determinadas vendas em um período.
Além disso, temos uma tabela auxiliar de bônus mínimo para o vendedor. Dependendo do valor vendido, ele ganha a porcentagem devida em cima das suas vendas, de bônus.
Observe abaixo esse cenário mostrado.
Exemplo: o Alon vai ganhar 40% em cima das suas vendas (R$ 97.500), porque vendeu pelo até R$ 100.000, o que vai lhe render R$ 39.000.
Inserindo um Módulo no VBA
Para criar um código dentro de um módulo, precisamos primeiramente abrir o ambiente de VBA, a partir do atalho do teclado Alt(+Fn)+F11.
Como não temos nenhum módulo destinado ao tema da aula de hoje, e por questão de organização, vamos criar um módulo à parte.
Vamos na guia Inserir > Módulo, e uma caixa branca se abrirá.
Colocaremos, então, a seguinte function dentro dele:
Function calcularBonus2(valorVenda As Double, intervaloBonus As Range) As Double
nLinhas = intervaloBonus.Rows.Count
For i = 1 To nLinhas
If valorVenda <= intervaloBonus(i, 1) Then
percentualBonus = intervaloBonus(i, 2)
Exit For
End If
Next
calcularBonus2 = percentualBonus * valorVenda
End Function
Explicação do código:
Exemplo de uso da Function no Excel
Podemos, agora, invocar essa Function dentro do Excel, como uma função, mas agora de forma personalizada.
Observe abaixo agora a utilização da Function:
Repare que o valor a ser analisado é o valor de vendas de 97.500, na tabela de bônus, que vai de E2 até F11 da nossa planilha.
Abaixo está o resultado do uso da nossa Function, no Excel:
Fazendo a multiplicação de 97.500 por 40%, chegamos ao bônus de R$ 39.000 para o Alon, que teve vendas de até R$ 100.000. Aprenda Visual Basic do básico ao avançado com o curso completo de VBA da Hashtag.
Hoje eu te mostrei o que é uma function no VBA e qual a sua utilidade. Você deve ter notado que uma function nada mais é do que uma função que fica disponível no Excel.
Assim como qualquer outra função que você já utiliza, como: SOMA, MÉDIA, SE, PROCV… Todas elas são funções e você pode até tentar criá-las usando o VBA.
Nessa aula você lidou com:
Valeu, Impressionadores! Fiquem ligados no nosso canal do Youtube para mais conteúdo de VBA toda semana!
Para acessar outras publicações de VBA, clique aqui!
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.