Uno dei vantaggi dell'essere VBA un linguaggio interpretato è che possiamo eseguire singole procedure senza dover compilare l'intera applicazione. Esploriamo esattamente come lo facciamo.
Procedure pubbliche
Routine pubbliche senza argomenti
In un modulo standard, puoi posizionare il cursore all'interno di una routine pubblica che non ha argomenti, premere [F5] e quella routine verrà immediatamente eseguita.
Se vuoi scorrere la routine, puoi impostare un punto di interruzione su una delle righe prima di premere [F5] o semplicemente premere [F8] ("Entra in") e iniziare immediatamente a scorrere il codice per la routine.
Funzioni pubbliche senza argomenti
Funziona anche con le funzioni pubbliche nei moduli di codice standard. La chiave è che la funzione non può accettare argomenti, nemmeno quelli opzionali.
Procedure pubbliche con argomenti
Cosa succede se si tenta di eseguire una procedura pubblica che accetta uno o più argomenti (anche facoltativi)? Il comando "Esegui> Esegui macro" esegue:
Procedure private
Procedure private senza argomenti
Non posso prendermi il merito di aver scoperto questo. Un ringraziamento speciale va a Terry Chapman per aver comunicato il fatto che puoi premere F5 per eseguire il debug di Privato procedure in essere, non solo procedure pubbliche.
Come Terry, cambiavo temporaneamente le mie procedure Private in Pubbliche durante il debug. Si scopre che non ho mai dovuto farlo affatto.
Procedure private Con Argomenti
Una volta che Terry mi ha fatto mettere in discussione le mie supposizioni, ho deciso di vedere quanto potevo cavarmela. Molto più di quanto mi aspettassi, a quanto pare!
Che tu ci creda o no, puoi eseguire il debug di procedure private che accettano argomenti senza modificandoli temporaneamente in procedure pubbliche. Per fare ciò, è sufficiente chiamare il nome completo della procedura dalla Finestra Immediata. Per "nome completo", intendo il nome nel formato {ModuleName}.{ProcedureName}
.
Dai un'occhiata a questo esempio:
Ma non credermi sulla parola. Vai a provarlo!