Eu usei
Static
variáveis no passado – variáveis locais que mantêm seu valor entre as chamadas – mas você sabia que funções e subs inteiras também podem ser marcadas como estáticas? No caso de uma
Static Function
ou Static Sub
, todos variável local na rotina se comporta como se fosse declarada com o Static
palavra-chave individualmente. Confira a seguinte nota da documentação da Declaração Estática:A Estática declaração e a Estática palavra-chave são semelhantes, mas usadas para efeitos diferentes. Se você declarar um procedimento usando o método Estático palavra-chave (como em Static Sub CountSales ()
), o espaço de armazenamento para todas as variáveis locais dentro do procedimento é alocado uma vez e o valor das variáveis é preservado durante todo o tempo em que o programa estiver em execução. Para procedimentos não estáticos, o espaço de armazenamento para variáveis é alocado sempre que o procedimento é chamado e liberado quando o procedimento é encerrado. A Estática A instrução é usada para declarar variáveis específicas dentro de procedimentos não estáticos para preservar seu valor enquanto o programa estiver em execução.
Honestamente, raramente uso a palavra-chave Static para variáveis individuais. Estou lutando para ver quando eu gostaria de usar esse recurso para uma função ou sub inteira. Dito isto, é importante saber que é possível. Você nunca sabe quando pode encontrar algum código na natureza que use esse recurso ...
Dica o chapéu para Jan Karel Pieterse
O crédito por este petisco suculento de informação vai para Jan Karel Pieterse, um MVP do Excel e fonte de conhecimento e curiosidades sobre VBA. Eu aprendi pela primeira vez que isso era uma opção de um de seus posts no LinkedIn:
Você aprende algo novo a cada dia!