Manipulação de vari...
 
Notifications
Clear all

Manipulação de variáveis entre rotinas

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

Bom dia.

Uma duvida: Quando eu mando rodar a rotina "PRINCIPAL", ela chama a rotina "variaveis" contendo uma chamada NOME. Quando eu gravo o conteúdo nessa variável, ela volta para a rotina PRINCIPAL com a variavel NOME = Empty. Como faço para trazer o conteúdo que deixei informado na outra sub sem deixá-la vazia?

________________________________________________
Sub PRINCIPAL()
Call variaveis
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = (NOME)
End Sub
_________________________________________________
Sub variaveis()
NOME = "teste"
End Sub
__________________________________________________

Obrigado e fico no aguardo.

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

 
Postado : 24/06/2013 8:09 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Apesar de não ter Declarado a Variável, Declare a mesma fora da Rotina, no escopo do Modulo.

Dim NOME

[]s

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

 
Postado : 24/06/2013 8:14 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá Mauro.

Seria dessa forma? Mesmo assim esta vindo vazia.

________________________________________________________________________________
Sub PRINCIPAL()
Call variaveis
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = (NOME)
End Sub
_____________________________________________
Sub variaveis()
Dim NOME
NOME = "teste de sheet"
End Sub
_____________________________________________

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

 
Postado : 24/06/2013 8:20 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

A variavel global deve ser declarada fora das rotinas.
Seria assim:

Dim NOME as string
Sub PRINCIPAL()
Call variaveis
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = (NOME)
End Sub

Sub variaveis()
NOME = "teste de sheet"
End Sub

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

 
Postado : 24/06/2013 8:34 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Deu certo Reinaldo! Era exatamente isso mesmo que precisava. Lá em cima só deixei Dim NOME sem definir como texto..... e deu certo também.

Obrigado a todos pela ajuda.

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

 
Postado : 24/06/2013 8:44 am