You need to be clear what you are talking about here. I have a feeling you do not mean passing these vars to the subs but rather accessing them from the subs.

To pass a var to a sub you use arguments.
Code:
Private Sub SomeSub(VarA as String, VarB as Integer, VarC as Long)
You would then pass the vars or data when you call the sub
Code:
somesub "Some Text", 14,2024
To access vars across subs without passing them they have to be dimmed at the correct level.
Local vars can only be accessed from within the routine where they are dimmed.
Vars dimmed in the declarations sections can be accessed;
by any code in the form/class or module if they are set as Private
by any code in the project if they are set as Public. In the case of forms and classes there are additional requirements

Public vars in a class that is part of a dll or user control can be accessed outside the original project by other projects that make use of the dll or UC