Boa noite, RJunior
O método que acho mais simples para isso é fazer referência ao projeto do arquivo que fornecerá a variável. Lembre-se que as variáveis ou constantes têm que ser Globais.
Exemplo: digamos que vc está criando uma macro na Pasta1.xlsxm e quer ler/alterar uma variável (MinhaVar ) ou ler uma constante (MinhaConst) que está no Módulo1 da Pasta2.xlsm e que, além disso, o nome do Projeto na Pasta2 ao invés de ser VBAProject que é o padrão, seja digamos VBAProjP2.
Então, no Módulo1 da Pasta2 vc teria declarado sua variável em nível Global como:
Public MinhaVar
Public Const MinhaConst = "Estou Na Pasta2"
Na Pasta1 (aberta), no VBE, vá em Ferramentas > Referências e localize e marque o projeto VBAProjP2
Agora, é só usar na sua macro da Pasta1 as variáveis/constantes da Pasta2. Exemplo:
Sub Teste()
Debug.Print VBAProjP2.MinhaVar 'Ou VBAProjP2.Módulo1.MinhaVar
Debug.Print VBAProjP2.MinhaConst
VBAProjP2.MinhaVar = "Variável alterada pela Pasta1"
Debug.Print VBAProjP2.MinhaVar
End Sub
Vc deve ter notado que ainda por cima ganhou de brinde o IntelliSense ao construir as expressões
Postado : 15/03/2018 3:54 pm