Quando scrivi una macro, è progettata per essere eseguita ogni volta che scegli di eseguirla. E se hai bisogno di sviluppare una macro che verrà eseguita ogni volta che qualcosa cambia nel tuo foglio di lavoro? E se vuoi che la macro venga eseguita automaticamente? Ciò è particolarmente necessario se si crea una funzione personalizzata che si desidera utilizzare all’interno delle celle del foglio di lavoro.

È qui che il metodo Volatile torna utile. Tutto quello che devi fare è includere la seguente dichiarazione nella tua macro:

Application.Volatile

Ciò informa Excel che i risultati della macro dipendono dai valori nel foglio di lavoro e che dovrebbe essere eseguito ogni volta che il foglio di lavoro viene ricalcolato. Ad esempio, considera la seguente funzione definita dall’utente:

Function CountCells(MyRange As Range)

Dim iCount As Integer     iCount = 0     For Each cell In MyRange         If cell.HasFormula Then             iCount = iCount + 1         End If     Next cell     CountCells = iCount End Function

Questa funzione, se utilizzata in una cella, conta il numero di celle che contengono formule all’interno di un intervallo specificato. Tuttavia, la funzione verrà eseguita solo la prima volta che viene inserita in una cella o ogni volta che viene modificata la cella contenente la formula. Se vuoi che la funzione ricalcoli ogni volta che il foglio di lavoro viene ricalcolato, dovresti aggiungere il metodo Volatile vicino all’inizio della funzione:

Function CountCells(MyRange As Range)

Dim iCount As Integer     Application.Volatile     iCount = 0     For Each cell In MyRange         If cell.HasFormula Then             iCount = iCount + 1         End If     Next cell     CountCells = iCount End Function

L’inclusione del metodo Application.Volatile significa che ogni volta che il foglio di lavoro viene ricalcolato, questa funzione (macro) viene nuovamente eseguita.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (2013) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: