Questo esempio insegna come eseguire il debug di codice VBA in Excel.

Passo singolo

Premendo F8, è possibile solo passo attraverso il vostro codice. Il è molto utile perché permette di vedere l’effetto di ogni linea di codice nel foglio di lavoro.

Posizionare un pulsante di comando nel foglio di lavoro e aggiungere le righe di codice che segue:

Dim i As Integer, j As Integer

For i = 1 To 2

For j = 1 To 5

Cells(i, j).Value = WorksheetFunction.RandBetween(20, 100)

Next j

Next i

Risultato quando si fa clic sul pulsante di comando sul foglio:

Without Debugging in Excel VBA

  1. Svuotare l’intervallo A1: E2.

  2. Aprire il Visual Basic Editor e ridurre le dimensioni dello schermo in modo da poter vedere l’editor di Visual Basic e foglio di lavoro allo stesso tempo.

  3. Nel Visual Basic Editor, posizionare il cursore prima privato e premere F8.

La prima linea diventa giallo.

Single Step

  1. Premere F8 per quattro volte. Per i = 1 e j = 1, Excel VBA inserisce un numero casuale compreso tra 20 e 100 nella cella all’intersezione della riga 1 e colonna 1. Mantenendo il cursore fermo su una variabile, si può vedere il valore della variabile.

Single Step

  1. Premere F8 altre due volte. Per i = 1 e j = 2, Excel VBA inserisce un numero casuale compreso tra 20 e 100 nella cella all’intersezione della riga 1 e colonna 2.

Single Step

  1. Passo singolo per il resto del codice per vedere come Excel VBA entra gli altri numeri. Questo è un ottimo modo per imparare come funziona un ciclo.

Se si desidera interrompere il programma, fare clic sul pulsante Reset (Stop).

Breakpoint

Si imposta un punto di interruzione per l’esecuzione sosta a una linea di codice specifico.

  1. Svuotare l’intervallo A1: E2.

  2. Per impostare un punto di interruzione, fare clic sul margine sinistro (in grigio) in cui si desidera posizionare il punto di interruzione. Viene visualizzato un punto rosso.

Set a Breakpoint

  1. Fare clic sulla freccia verde per eseguire la macro fino al punto di interruzione.

Risultato:

Continue Execution

(Per i = 1) è stato eseguito solo una parte della macro.

  1. Per rimuovere il punto di interruzione, fare clic sul punto rosso. Quindi, fare clic sulla freccia verde per continuare l’esecuzione.

Se si riceve una macro da qualcun altro, ricordate, il debug è un ottimo modo per capire il codice. Si può facilmente vedere l’effetto di ogni linea di codice nel foglio di lavoro.