Una variable estática de VBA conserva su valor incluso cuando finaliza el procedimiento.
Declarar una variable estática
Declara una variable estática usando la palabra clave Static como se muestra a continuación:
123456789 | Subdeclarar Variable Estática ()MyVariable estático como enteroMsgBox myVariablemyVariable = myVariable + 2Rango ("A1"). Valor = myVariableEnd Sub |
La primera vez que presiona F5, aparece un cuadro de mensaje que muestra el valor inicial de myVariable que es 0. El valor de 2 se coloca en la celda A1.
Si presiona F5 nuevamente inmediatamente después, obtendrá el siguiente cuadro de Mensaje que muestra el valor de myVariable que es 2, y el valor de 4, colocado en su hoja de trabajo en la celda A1.
Como puede ver, la variable retiene su valor incluso cuando finaliza el Subprocedimiento, si usó la palabra clave Dim en lugar de la palabra clave Static para declarar la variable, el cuadro de mensaje siempre mostraría el valor de 0. Además, el resultado en la celda A1, sería 2, cada vez que haga clic en F5. Dado que la variable no retendría su valor una vez finalizado el Subprocedimiento.