VBA - Retorna um valor de um subprocedimento

Este tutorial ensinará como retornar um valor de um subprocedimento no VBA.

Um subprocedimento não é projetado para retornar um valor - é para isso que um procedimento de função é usado. No entanto, pode haver um momento em que você esteja executando algum código em um subprocedimento em que precise obter um valor desse subprocedimento. A maneira de fazer isso é usar o Módulo ou Variáveis ​​globais ou usar um Subprocedimento para preencher uma planilha do Excel.

Usando variáveis ​​para retornar um valor

Você pode declarar variáveis ​​no nível do módulo. Ao fazer isso, essas variáveis ​​podem ser usadas em qualquer lugar dentro do módulo e as variáveis ​​retêm seus valores. Para declarar uma variável no nível do módulo, simplesmente declare a variável na parte superior do seu módulo de código:

123456789 Opção ExplícitaDim dblQty as DoubleSub TestA ()'chame o TestB subChamar TestB'mostra o valor da variável na janela do móduloDebug.Print dblQtyEnd Sub
1234 Sub TestB ()'preencher a variável do módulodblQty = 900End Sub

Para colocá-los juntos, executaríamos TestA, que por sua vez chamaria TestB e nos forneceria o valor de 900 na janela imediata.

Isso só funcionaria dentro do módulo, pois a variável foi declarada usando a instrução Dim no nível do módulo.

Variável Global

Você pode declarar a variável em um nível global para usá-la em todos os módulos do projeto.

Usando um subprocedimento para preencher uma planilha do Excel

O Subprocedimento abaixo preencherá diretamente Intervalo A1 a C1 em sua planilha do Excel, retornando valores para as células do Subprocedimento.

12345 Sub PopulateRange ()Intervalo ("A1") = "Produto"Intervalo ("B1") = "Quantidade"Intervalo ("C1") = "Custo"End Sub

Você pode então fazer referência a esses valores em outro procedimento, referenciando os valores das células:

1234567 Sub RetrieveRange ()Dim Product as String, Quant enquanto, Custo como o dobroProduto = intervalo ("A1")Quant = Faixa ("B1")Custo = intervalo ("C1")End Sub

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave