Microsoft Excel 2010, junto com a maioria das versões do software, vem com uma linguagem de programação inclusa, chamada Visual Basic for Applications, ou VBA. Quando você usa VBA com Excel, os dois principais procedimentos que você cria são sub-rotinas ou subs e funções. Embora os dois tipos de programas VBA são semelhantes, algumas diferenças determinar quando você deve usar cada um.
Subroutine VBA
A sub-rotina VBA, que também pode ser chamado de um sub ou uma macro, é simplesmente um pedaço de código que executa uma tarefa específica na planilha do Excel. Cada sub-rotina começa com o comando "Sub" seguido pelo nome da sub-rotina. sub-rotinas Excel VBA pode alterar qualquer aspecto de uma planilha do Excel, incluindo o conteúdo das células, a formatação da célula e até mesmo configurações do Excel. Sub-rotinas pode aceitar argumentos, que você entra em parênteses depois de chamar a sub-rotina, mas estes não são necessários para o sub trabalhar. Quando você cria uma sub, o nome do sub aparece em uma lista de macros para a planilha que você pode executar a partir da "Desenvolvedor" aba.
Função VBA
Embora a função é codificada bem como um sub, é realmente mais como uma fórmula. Cada função começa com a palavra "Função" seguido pelo nome da função e, em seguida, argumentos da função entre parênteses, ou simplesmente um aberta e fechada parênteses se não há argumentos. Cada função deve retornar um valor no final, por isso, uma das últimas linhas na função precisa ser o nome da função, um sinal de igual e, em seguida, um valor derivado do código na função ou uma fórmula que fornece esse valor. Quando você cria uma função, ele aparece como parte das funções definidas pelo usuário que você pode usar com essa folha de cálculo Excel particular.
Quando usar um Sub
Sub-rotinas destacarem em processos de automatização, especialmente aqueles em que você precisa para executar uma tarefa ou verificar um valor em cada célula na planilha. Você também pode chamar sub-rotinas de outros pedaços de código Excel VBA, que pode limpar o seu código consideravelmente se você precisa executar os mesmos processos várias vezes em um longo macro. Desde sub-rotinas podem alterar a folha de Excel em si, eles são muitas vezes utilizados para redefinir um formulário Excel volta à sua condição original, se um usuário comete um erro ou quer começar de novo. Desde subs pode alterar a planilha, você não pode chamar uma sub-rotina a partir de uma fórmula de célula. A única maneira de executar uma sub é de outra sub-rotina ou executando manualmente a macro.
Quando utilizar uma função
A função sempre retorna um valor, então você pode chamá-los a partir de outro pedaço de código ou a partir de uma célula do Excel em si. As funções são usadas da mesma forma fórmulas embutidas do Excel são, ou seja, que você acabou de entrar "=" seguido do nome da função e os argumentos entre parênteses. As funções não podem alterar o valor ou a formatação de qualquer célula, então se você digitar um código que tenta, a função irá retornar "#Valor!" em vez de um resultado.