Ho usato Static
variabili in passato, variabili locali che mantengono il loro valore tra le chiamate, ma sapevi che anche intere funzioni e sub possono essere contrassegnati come statici?
Nel caso di una Static Function
o Static Sub
, ogni la variabile locale nella routine si comporta come se fosse dichiarata con Static
parola chiave individualmente. Dai un'occhiata alla seguente nota dalla documentazione di Static Statement:
Lo statico dichiarazione e la statica le parole chiave sono simili, ma utilizzate per effetti diversi. Se dichiari una procedura utilizzando il statico parola chiave (come in Static Sub CountSales ()
), lo spazio di archiviazione per tutte le variabili locali all'interno della procedura viene allocato una volta e il valore delle variabili viene conservato per tutto il tempo in cui il programma è in esecuzione. Per le procedure non statiche, lo spazio di archiviazione per le variabili viene allocato ogni volta che la procedura viene chiamata e rilasciata quando si esce dalla procedura. Il statico viene utilizzata per dichiarare variabili specifiche all'interno di procedure non statiche per preservarne il valore finché il programma è in esecuzione.
Onestamente, uso raramente la parola chiave Static per le singole variabili. Sto lottando per vedere quando vorrei utilizzare questa funzione per un'intera funzione o sottomarino. Detto questo, è importante sapere che è possibile. Non sai mai quando potresti imbatterti in un codice in the wild che utilizza questa funzione...
La mancia del cappello a Jan Karel Pieterse
Il merito di questo succoso bocconcino di informazioni va a Jan Karel Pieterse, un MVP di Excel e fonte di conoscenze e curiosità VBA. Ho appreso per la prima volta che questa era un'opzione da uno dei suoi post su LinkedIn:
Impari qualcosa di nuovo ogni giorno!