domingo, 16 de fevereiro de 2014

Sub vs Function – Diferenças


Neste artigo vou explicar a diferença entre as macros SUB e FUNCTION.

Quem está acompanhando as postagens viu que no artigo “Introdução as macros no Excel” eu mencionei que as macros são divididas em Procedimentos e UDF (User Defined Function, também chamado procedimento Function).

Dentro do VBA, os Procedimentos são chamados de Sub, e as UDF são chamadas de Function.

Tanto um Sub quanto um Function são procedimentos dentro do VBA, pois executam uma rotina de códigos, mas a diferença entre os dois é que:

    ü  Um procedimento Sub é um grupo de declarações de VBA que executam uma ação (ou várias ações) no Excel.
    ü  Um procedimento Function é um grupo de declarações que executa um cálculo e retorna um único valor.

A maioria das macros que são utilizadas no VBA são procedimentos Sub. Você pode pensar quem um Sub é um comando, tipo: Execute o procedimento Sub e algo acontece (é claro, o que acontece depende do código VBA do procedimento Sub).

Uma função (Function) também é um procedimento, mas é bem diferente de um Sub. O conceito de uma função já é familiar para você. O Excel envolve muitas funções de planilha que você usa diariamente (bem, pelo menos durante a semana). Exemplos incluem SOMA, SUBTOTAL, SE e PROCV. Cada função tem um ou mais argumentos (embora algumas funções não usam argumento algum). A função faz alguns cálculos ocultos e retorna um único valor, o mesmo serve para os procedimentos Function que você desenvolve com VBA.

Quando você grava uma macro utilizando o gravador de macros do Excel, o resultado é sempre um procedimento Sub. 
E independente do quanto você tente, não é possível gravar um procedimento Function. Você precisa inserir manualmente todo procedimento Function que criar.

No início estes termos são um pouco confusos, mas nos próximos artigos você verá na prática diferença entre estes procedimentos.


Gostou deste artigo? Então compartilhe com seus amigos e assine para RECEBER MAIS DICAS DE EXCEL POR E-MAIL. Fique a vontade para deixar seu comentário.
Informe seu e-mail...

Sobre o autor: Anderson Tonetto dos Santos
Anderson é especialista em Planilhas Eletrônicas e Administração de Sistemas. Trabalha com tecnologia há mais de 10 anos, e nos últimos 6 anos atua como Consultor e Instrutor de Excel. Fundador da Tonetto Excel, site referência no conteúdo de Planilhas e Macros, com mais de 3 milhões de acessos nos últimos 5 anos. Também é co-fundador da Solução Contábil, empresa especializada em Inteligência Informacional para Contabilidade e Data Analytics.