Como escrever uma função para o Excel - Parte 2

por João Henrique

No post anterior vimos como escrever uma função simples no Excel. Agora a coisa vai ficar mais divertida, pois escreveremos funções com argumentos.

Vamos supor que, na empresa ABC, o salário líquido dos seus funcionários corresponde a 82% dos seus salários brutos. Para facilitar o trabalho da equipe de recursos humanos da ABC, vamos criar uma função no Excel que calcula o valor do salário líquido dos seus funcionários.

Para fazer a conta, precisamos saber 2 coisas: o salário e o porcentual. O porcentual a gente já sabe, é 82%. Já o salário, vai depender - cada funcionário tem o seu salário de acordo com o cargo, tempo de casa, etc. Como o salário não é sempre o mesmo, podemos definir ele como um argumento da função - ou seja, é um valor que será informado pela pessoa que estiver usando a função.

No VBA, tudo que precisamos fazer é colocar o nome do argumento entre parênteses, após o nome da função. Aí na hora de dizer qual o resultado da função, podemos usar o argumento, dizendo que será o salário bruto multiplicado por 0,82.
Private Function calcularSalarioLiquido(SalarioBruto)
    calcularSalarioLiquido = SalarioBruto * 0.82
End Function


Feito isso, as pessoas poderão usar as funções nas suas planilhas, como mostra a figura abaixo.


Como escrever uma função para o Excel - Parte 3

Continue lendo…


Como escrever uma função para o Excel

por João Henrique

O Excel possui diversas funções que usamos nas nossas planilhas, como MÉDIA, SOMA, PROCV, etc. Mas o que acontece se quisermos usar uma função que não exista no Excel? Nós podemos criar nossas próprias funções, escrevendo código em VBA.

Em "Como escrever uma macro", vimos que o formato básico de um código de macro é assim:
Private Sub primeiraMacro()

End Sub


As funções são muito parecidas com as macros. Observe:
Private Function primeiraFuncao()

End Function


Simples, né? Onde tinha "Sub" escrevemos "Function". Agora falta só dizer qual o resultado da função; para isso, utilizamos o nome da função (no caso, primeiraFuncao):
Private Function primeiraFuncao()
primeiraFuncao = 10
End Function


Com isso, dizemos que o resultado da função primeiraFuncao será 10.

Para que possamos usar a função, é preciso que ela esteja em um módulo de código. Para isso, abra o editor VBA, clique em Inserir/Módulo, e escreva o código da função na janela que aparece, como mostra a figura abaixo.

Com isso nós podemos usar a função como qualquer outra função do Excel, como mostra a figura abaixo.


Como escrever uma função para o Excel - Parte 2

Continue lendo…