VBA – Chamada de Função a Partir de uma Sub
Este tutorial te ensinará a chamar uma função a partir de um subprocedimento no VBA.
Quando você cria uma função no VBA, pode usá-la como uma UDF (User Defined Function, função definida pelo usuário) na pasta de trabalho do Excel ou chamá-la de um subprocedimento.
Chamada de uma Função a Partir de um Subprocedimento
Depois de criar uma função, você pode chamá-la de qualquer outro lugar em seu código usando um Subprocedimento para chamar a função.
Considere a função abaixo:
Function ObterValor() As Integer
ObterValor = 50
End Function
Como as funções retornam um valor, para chamar a função, devemos passar o valor para alguma coisa. Nesse caso, passaremos o valor para uma variável:
Sub TestarValores()
Dim intVal As Integer
'executa a função ObterValor
intVal = ObterValor()
'e mostra o valor
MsgBox intVal
End Sub
Chamada de uma Função com Parâmetros
Se a função tiver parâmetros, você precisará passar esses parâmetros do subprocedimento para a função a fim de obter o valor correto de volta
Function ObterValor(intA as Integer) As Integer
ObterValor = intA * 5
End Function
Para chamar essa função, podemos executar o seguinte Subprocedimento
Sub TestarValores()
MsgBox ObterValor(10)
End Sub
Esse subprocedimento enviaria o valor de 10 para a função, que, por sua vez, multiplicaria esse valor por 5 e retornaria o valor de 50 para o subprocedimento