terça-feira, 13 de setembro de 2016

Criando suas próprias funções no Excel com VBA

As aplicações em Visual Basic dos produtos da Microsoft permitem ao usuário criar rotinas e funções para otimizar e customizar suas planilhas.

Apesar do Excel possuir inúmeras funções matemáticas, estatísticas, controle, operações com datas dentre outras, o software é carente para a maioria das funções de engenharia, como no caso da engenharia estrutural, o cálculo do momento de inércia da seção transversal de uma viga perfil "I", por exemplo. E esse software é o mais usado na rotina de uma empresa de engenharia, seja para o desenvolvimento como para outras funções!

Para criar suas funções em VBA é necessário um conhecimento mínimo de programação em Visual Basic. A criação das funções é muitos simples. Para isso vamos utilizar o editor de Visual Basic do Excel.


As funções e rotinas em VBA devem ser escritas nos módulos. Para inserir um novo módulo clique em Inserir > Módulo...


No módulo podemos criar as funções e subrotinas para a planilha em Excel. Para criar uma função, devemos criar uma funcion. O VBA permite que declaremos as funções com públicas ou privadas. Como o proprio nome sugere, as funções públicas são acessíveis ao código do módulo onde ela foi criada e aos outros módulos. As privadas são acessíveis somente ao módulo onde a rotina ou função foi criada. Ao criar uma subrotina ou função não é necessário declarar como pública ou privada. Por definição o VBA entende que se a rotina não é declarada, ela é publica. Declarar uma rotina é uma estratégia interessante para economizar memória em códigos mais complexos.

A criação de uma função é feita da seguinte maneira

[Public ou Private] Function NomeFuncao ([Byval ou Byref] variavel1 [As tipo], [Byval ou Byref] variavel2 [As tipo]) As tipo

Statements

End Function

Os trechos acima marcados entre colchetes "[]" não precisam ser digitados no seu código. A função pode ter "n" variáveis, e essas variáveis podem ser passadas para a função como referencia (Byref) ou por valor (Byval). Ao passar o valor por referencia você está informando a função o valor da variável, ou seja, o valor da variável será alterado dentro da função ou subrotina e poderá retornar um valor diferente para a sua planilha, ao passar uma variável por valor estamos informando a rotina uma cópia da variável, mantendo o seu valor original. 

Outro ponto importante ao criar uma função é declarar o tipo da variável. Para isso utiliza-se o comando "As tipo". O tipo da variável pode ser inteiro, texto, número real, booleana etc. Por definição o VBA declara as variáveis como Variant, que são variáveis que podem assumir qualquer valor. Declarar as variáveis é outra estratégia para poupar memória das aplicações. Assim como para as variáveis, as funções necessitam ser declaradas.

Feita a definição da função o código pode ser implementado. No modelo acima o código será escrito nos Statements. Feito o código finaliza-se a função com o comando End Function


Aqui está um exemplo de função em VBA no Excel. Esta função faz o cálculo do momento de inércia e uma seção retangular:



Para utilizar essa fórmula no Excel basta selecionar uma célula e digitar "=MomentoInercia(base;altura)". Os valores base e altura são variáveis, que podem ser digitados diretamente na fórmula ou ser valores de outras células, como mostro abaixo:



Criar funções em VBA pode facilitar muito o desenvolvimento de planilhas personalizadas e funcionais para engenharia, evitando trabalhar com fórmulas extensas que são difíceis de corrigir e verificar.

Nenhum comentário:

Postar um comentário

Obrigado pelo seu comentário! Contamos com a sua colaboração para continuar sempre crescendo!