Valor de retorno de sub-rotinas no VBA do Excel

Escrito por darryl brooks | Traduzido por alexandre lima
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Valor de retorno de sub-rotinas no VBA do Excel
É uma boa prática dividir o código em funções (Stockbyte/Stockbyte/Getty Images)

O Visual Basic for Applications (VBA), como outras versões do Visual Basic e a maioria das linguagens de programação, oferece a possibilidade de dividir o código em pequenas partes independentes. Fazer isso deixa o programa menos complicador de ler, escrever e testar devido à natureza individual das unidades menores. Elas também são reutilizáveis, assim, em vez de escrever o mesmo trecho de código toda vez que o programa necessitar executar uma tarefa, o programador pode simplesmente chamar a função diversas vezes. Essa é apenas uma das características que faz o VBA, e o Visual Basic, uma linguagem de programação estruturada.

Outras pessoas estão lendo

Funções versus Sub-rotinas

Na maioria das linguagens, pedaços de código são chamados de função. No VBA, eles são divididos em dois tipos diferentes: funções e sub-rotinas. Ambos os tipos parecem e funcionam de forma semelhante, mas com duas diferenças notáveis. Primeiro, a função é declarada com "Function" na definição do código e termina com "End Function". Uma sub-rotina é declarada com "Sub" e termina com "End Sub". Segundo, uma função retorna um valor, enquanto a sub-rotina não. Para poder retornar um valor no VBA do Excel, você precisaria usar uma função.

Quando é preciso retornar um valor?

Um programa bem escrito usa funções e sub-rotinas para encapsular os dados e protegê-los de alterações feitas em outras partes do código. Isso, em conjunto com a facilitação da compreensão, são as razões principais de se usar uma função que retorna valor contra uma sub-rotina que não retorna. As variáveis dentro de uma função ou sub-rotina são invisíveis para o resto do código, sendo assim, para usar o resultado de um código em outra parte do programa, a função deve retornar o valor para quem a chamou. A única forma de fazer o mesmo com sub-rotinas seria declarar as variáveis como públicas para todo o programa, ignorando o princípio do encapsulamento.

Um exemplo

Um exemplo de função que retorna valor é uma que adiciona dois números e retorna o resultado da soma. Ela seria assim: Function MinhaSoma(A as integer, B as integer) MinhaSoma = A+B End Function A instrução "MinhaSoma = A+B" não apenas calcula o resultado, mas também põe o valor em uma variável de mesmo nome da função, o que o transforma no valor de retorno. Nesse exemplo, chamar essa função seria tão simples como "Resposta = MinhaSoma(2,2)", e a variável Resposta receberia o valor 4. A função pode ser chamada quantas vezes for necessário.

Valores de retorno no VBA do Excel

Apesar de o Excel possuir várias funções matemáticas e financeiras nativas, você pode precisar escrever o seu próprio método para melhor flexibilidade e poder. Escrever a própria função também permite construir formulários com objetos simplificados para entrada de dados. É possível escrever funções que retornem valor e inseri-las em macros.

Desta maneira, você pode projetar aplicações complexas e poderosas sem ter que construir um programa desde o início com uma linguagem de programação como o C#. Isso oferece o poder das funções nativas do Excel e a opção para controlar suas próprias funções customizadas que retornam valores para o seu formulário.

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível