¿Cuál es la diferencia entre Dim, Global, Public y Private como modificadores de acceso de campo modular?

En VB6 / VBA, puede declarar variables de nivel de módulo fuera de un determinadoSub oFunction método. he usadoPrivate yPublic antes de dentro de los módulos y comprenderlos así:

Public - visible para todo el código dentro del módulo y todo el código fuera del módulo, esencialmente haciéndolo global.Private - visible solo para el código dentro del módulo.

He notado que puedes usarDim yGlobal como modificadores para variables modulares. SonDim yGlobal diferente dePrivate yPublic, respectivamente, cuando se usan como modificadores de acceso en campos modulares? Si es así, ¿en qué se diferencian?

Respuestas a la pregunta(1)

Su respuesta a la pregunta