La via piu' semplice, secondo me, e' fare in modo che la routine utilizzi una cella del foglio come indicatore (cella ovviamente non usata dal foglio per altri scopi !)
La routine dovra' per prima cosa leggere la cella,
quando la cella non e' vuota, la routine non eseguira' niente.codice:If <e' vuota> Then 'e' la prima volta che viene chiamata: <scrivo qualcosa nella cella> 'eseguo quello che serve... End If
Che te ne sembra ?
P.S.: come alternativa, si potrebbe utilizzare come flag una chiave di registro (vedi SaveSetting, GetSetting), ma non so se ne vale la pena...