I wouldn't use a standard module, unless you are using it for other reasons. Let me go over the different variable scopes for you:
First, we're talking here about a standard exe program, not an activex dll or exe, which have other scoping issues that I will leave out (unless you ask).
In a form module, you can declare a variable either in the general declarations section at the top of the module, or inside a procedure. If you declare inside a procedure, it's called a "local" variable and is only available inside that procedure and only while the procedure is running.
If you declare in the general declarations section, you can declare the variable as either public or private (dim is the same as private). Private variables declared here are called "module-level" variables, and they are available to any procedure in the module (i. e. the same code window), and they last as long as the module does. With a form module, this means as long as the application is running. They are NOT visible to other modules, such as other forms. A public variable is visible to all modules in the application, but other modules have to precede the variable with the name of the module, e. g. "Form1.VariableName".
Now, Standard modules are a bit different. Public variables in standard modules are visibile to the entire app, for as long as it runs. You don't have to precede the variable name with the name of the module, as you do in other types of modules (however, you can if you like). Private variables in standard modules are visible only to the standard module. Local variables have the same rules as in other modules.
HTH
Bob