Quando deve essere uccisa una variabile VBA di Excel o impostata su Nothing?

Negli ultimi due anni mi sono insegnato Excel VBA e ho l’idea che a volte sia opportuno disporre di variabili alla fine di un segmento di codice. Ad esempio, l’ho visto fare in questo bit adattato dal codice di Ron de Bruin per il trasferimento di Excel in HTML :

Function SaveContentToHTML (Rng as Range) Dim FileForHTMLStorage As Object Dim TextStreamOfHTML As Object Dim TemporaryFileLocation As String Dim TemporaryWorkbook As Workbook ... TemporaryWorkbook.Close savechanges:=False Kill TemporaryFileLocation Set TextStreamOfHTML = Nothing Set FileForHTMLStorage = Nothing Set TemporaryWorkbook = Nothing End Function 

Ho fatto qualche ricerca su questo e ho trovato ben poco oltre a come farlo, e in un forum postare una dichiarazione che nessuna variabile locale deve essere cancellata , dal momento che cessano di esistere in End Sub . Sto indovinando, basato sul codice di cui sopra, che potrebbe non essere vero in End Function , o in altre circostanze che non ho incontrato.

Quindi la mia domanda si riduce a questo:

  • C’è da qualche parte sul web che spiega quando e perché per la pulizia delle variabili, e io non l’ho trovato?

E se no, qualcuno qui può spiegare …

  • Quando è necessaria una pulizia variabile per Excel VBA e quando non lo è?
  • E più specificamente … Ci sono specifici usi variabili (variabili pubbliche? Variabili definite dalla funzione?) Che rimangono caricati in memoria più a lungo di quelli di sottotitoli e quindi potrebbero causare problemi se non ripulisco dopo me stesso?