Excel: ¿todos los models de un libro de trabajo comparten todas las variables globales?

Traté de search la respuesta para esta pregunta, pero no voy a ninguna parte. Entonces entiendo que si declaro una variable fuera de un sub / function, es accesible para todos los subs / funciones con ese module. ¿Qué hay de otros modules? ¿Debo declararlo? ¿O puedo usarlo sin declararlo?

Por ejemplo, tengo un object textstream que se usa para iniciar session en varios modules. Básicamente lo que quiero hacer es inicializarlos una vez y todas las funciones en mis modules pueden usar el mismo object objTF para escribir en un file de logging. Estos objects se inicializan en un evento commandbutton_click. Pero, ¿dónde los declaro?

Dim objFSO As FileSystemObject Dim objTF As TextStream 

¿Tengo que ponerlos al principio en todos los modules? ¿O solo uno de los modules es suficiente? ¿Cuál es la forma correcta de hacerlo?

¡¡Gracias!!

testing esto (fuera de un sub o function):

 Public objFSO As FileSystemObject Public objTF As TextStream 

eso debería declararlos globalmente para que sean accesibles desde cualquier module en el proyecto.

editar:

hay una buena explicación del scope variable de vba en la respuesta aceptada a esta pregunta .