Použil jsem Static
proměnné v minulosti – místní proměnné, které si zachovávají svou hodnotu mezi voláními – ale věděli jste, že celé Funkce a Subs lze také označit jako statické?
V případě Static Function
nebo Static Sub
, každý lokální proměnná v rutině se chová, jako by byla deklarována pomocí Static
klíčové slovo jednotlivě. Podívejte se na následující poznámku z dokumentace statického příkazu:
Statický a statické Klíčová slova jsou podobná, ale používají se pro různé efekty. Pokud deklarujete proceduru pomocí Statické klíčové slovo (jako v Static Sub CountSales ()
), úložný prostor pro všechny lokální proměnné v rámci procedury je přidělen jednou a hodnota proměnných je zachována po celou dobu běhu programu. U nestatických procedur je úložný prostor pro proměnné alokován pokaždé, když je procedura zavolána a uvolněna, když je procedura ukončena. Statické příkaz se používá k deklaraci konkrétních proměnných v rámci nestatických procedur, aby se zachovala jejich hodnota po celou dobu běhu programu.
Upřímně, málokdy používám klíčové slovo Static pro jednotlivé proměnné. Usilovně se snažím zjistit, kdy bych chtěl tuto funkci použít pro celou funkci nebo položku. To znamená, že je důležité vědět, že je to možné. Nikdy nevíte, kdy můžete ve volné přírodě narazit na nějaký kód, který tuto funkci využívá...
Tip o' the hat Janu Karlu Pieterse
Zásluhu na tomto šťavnatém kousku informací má Jan Karel Pieterse, Excel MVP a font znalostí a drobností VBA. Poprvé jsem se dozvěděl, že to byla možnost, z jednoho z jeho příspěvků na LinkedIn:
Každý den se naučíte něco nového!