Excel VBA Funzioni volatili
Per impostazione predefinita, (link : / VBA-esempi-definita dall’utente-funzione [funzioni definite dall’utente]
) di UDF in Excel VBA non sono volatili. Essi vengono ricalcolate solo quando uno degli argomenti della funzione di cambio. Una funzione volatile è ricalcolato ogni volta che si verifica calcolo in qualsiasi cella del foglio. Diamo un’occhiata a un esempio semplice per spiegare questo un po ‘di più.
-
Aprire l’editor di Visual Basic e fare clic su Inserisci, Modulo.
Creare una funzione chiamata MyFunction che restituisce la somma della cella selezionata e la cella di sotto di questo cellulare.
-
Aggiungere le seguenti righe di codice:
Function MYFUNCTION(cell As Range) MYFUNCTION = cell.Value + cell.Offset(1, 0).Value End Function
-
Ora è possibile utilizzare questa funzione, come qualsiasi altra funzione di Excel.
-
Questa è una funzione non-volatile. funzioni non-volatili vengono ricalcolate solo quando uno dei cambiamenti argomenti della funzione. Modificare il valore della cella B2 per 8.
-
Ora modificare il valore della cella B3 a 11.
Spiegazione: la funzione non-volatile non viene ricalcolata quando qualsiasi altra cella sul foglio cambia.
-
Aggiornare la funzione come segue per rendere la funzione volatile:
Function MYFUNCTION(cell As Range) Application.Volatile MYFUNCTION = cell.Value + cell.Offset(1, 0).Value End Function
-
Modificare il valore della cella B3 a 12.
Risultato:
Nota: è necessario inserire la funzione di nuovo per rendere più volatili (o aggiornarlo posizionando il cursore nella barra della formula e premendo Invio).