Notifications
Clear all

Como usar variável que está sendo chamada (Call)

6 Posts
1 Usuários
0 Reactions
1,611 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Fala gente, ó eu aqui de novo! Dessa vez a minha dúvida é a seguinte: É possível utilizar o valor de uma variável que está declarada em outra rotina?

Ex:

Public Sub monta_dia()
DataDia = InputBox(prompt:="Digite a data do dia anterior", Title:="Data do do Dia Anterior", Default:="xx/xx/xxxx")

If DataDia = vbNullString Then
Exit Sub
End If

End Sub
Sub teste()
Call monta_dia

Quando eu uso esse call monta dia, o valor de DataDia na sub teste não é atualizada no que eu coloquei no InputBox, existe jeito que isso funcione?

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 22/03/2012 6:14 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Não sei se entendi corretamente,

Você quer apos executar Call monta_dia, o valor do InputBox em Public Sub monta_dia() seja preencchido com a data ?

Se for isto, você tem de definir as Variáveis, na Declaração do Módulo coloque :
Dim DataDia As Date

A sub teste ficaria :

Sub teste()

    DataDia = Date
    
    Call monta_dia
    
End Sub

E a monta_dia :

Public Sub monta_dia()

DataDia = InputBox(prompt:="Digite a data do dia anterior", Title:="Data do do Dia Anterior", Default:=DataDia)

    If DataDia = vbNullString Then
        Exit Sub
End If

End Sub

Veja no link abaixo como trabalhar com Variáveis :
Lição 08: VBA - Declaração de Variáveis
http://www.juliobattisti.com.br/cursos/ ... licao8.asp

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 22/03/2012 6:50 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Quando eu executar o sub teste, ele vai chamar o monta_dia, que tem um inputbox, onde eu insiro a data. O que acontece é que na Locals Window da sub teste, o valor de DataDia sempre fica como Empty e eu não consigo utilizar o valor que eu digitei na inputbox.

Consegui explicar o que acontece? Até eu fiquei confuso digitando tudo isso! ahaha

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 22/03/2012 7:11 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Faça como o Mauro falou, declare a variável fora da Sub (geralmente fica no começo do Modulo as declarações globais.)

Se for isto, você tem de definir as Variáveis, na Declaração do Módulo coloque :
Dim DataDia As Date

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 22/03/2012 10:44 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Funcionou!!! Valeu ai gente!

Essas coisas como declarar variaveis fora das subs, como eu aprendo isso? Existem certas coisas que aqui vai bem, mas essas outras mais simples, como eu apanho!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 22/03/2012 12:13 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Funcionou!!! Valeu ai gente!

Essas coisas como declarar variaveis fora das subs, como eu aprendo isso? Existem certas coisas que aqui vai bem, mas essas outras mais simples, como eu apanho!

Eu passei acima o link :Veja no link abaixo como trabalhar com Variáveis :
Lição 08: VBA - Declaração de Variáveis

São 120 lições, 6 modulos gratuito, só precisa dedicar tempo para ler, estudar e ir aplicando em exemplos.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 22/03/2012 1:21 pm