VBA define variables con DIM PRIVATE PUBLIC Me gustaría preguntar sus diferencias.
Las palabras clave Dim y Private son las mismas al definir variables privadas a nivel de módulo. Además, al definir variables, las palabras clave Pública y Privada solo se pueden usar para definir variables a nivel de módulo, mientras que Estática solo se puede usar para definir variables estáticas dentro de un proceso. Por lo tanto, podemos resumir la definición de variables de la siguiente manera:
1) Dim se puede usar dentro y fuera del proceso, pero independientemente de si se usa dentro o fuera del proceso, las variables definidas usando la declaración Dim son privados y no se pueden usar en el módulo Uso externo;
2) Público y Privado solo se pueden usar fuera del proceso para definir variables a nivel de módulo. La diferencia es que las variables a nivel de módulo definidas por Público. son visibles para el mundo exterior y pueden ser utilizados por este módulo y otros módulos. Las variables a nivel de módulo definidas por Private solo se pueden usar en este módulo y no pueden ser invocadas por otros módulos.
3) Static solo puede definir variables estáticas dentro del proceso. Las variables definidas por Static solo pueden usarse en este proceso y no pueden ser llamadas por otros Subs o Funciones de este módulo, y mucho menos por otros módulos.
Entonces, según los tres puntos anteriores, cuando declaramos variables, solo podemos cumplir con las siguientes reglas: "Use Public y Private para definir variables a nivel de módulo fuera del procedimiento y use Dim dentro del procedimiento. y Estático para definir variables a nivel de procedimiento". De esta manera, podrá comprender rápidamente el uso de cada palabra clave y evitar confusiones.
"¡Lo anterior es mi resumen personal del uso de palabras clave tenues, privadas, públicas y estáticas!"