Lavori abitualmente con fogli di lavoro che contengono dozzine (o centinaia)

di celle con nome e la maggior parte di questi nomi non sono necessari? La pulizia dei nomi è un compito enorme, ma eliminare quelli che non ti servono può rendere la tua cartella di lavoro più piccola ed efficiente. Il problema è: come ci si sbarazza di tanti nomi inutili tutto in una volta? Puoi certamente eliminarli uno alla volta, ma un processo del genere diventa rapidamente stancante.

Una possibile soluzione è creare semplicemente una nuova cartella di lavoro e copiare le celle dalla vecchia cartella di lavoro a quella nuova. Evidenzia le celle nella vecchia cartella di lavoro, usa Ctrl + C per copiarle, quindi incollale nei fogli di lavoro nella nuova cartella di lavoro. Questo copierà quasi tutto dalla vecchia cartella di lavoro: formule, formattazione, ecc. Non porta la copia sulle impostazioni di stampa o sui nomi degli intervalli. L’unica attività che rimane quindi è ridefinire i pochi nomi che desideri nella nuova cartella di lavoro.

Se preferisci lavorare con la vecchia cartella di lavoro (quella con tutti i nomi), è meglio creare una macro che eliminerà il nome per te. Hai bisogno di una macro che ti permetta di eliminare tutti i nomi tranne quelli che vuoi mantenere. Quello che segue è un semplice approccio che esegue questa operazione:

Sub DeleteSomeNames()

Dim vKeep     Dim nm As Name     Dim x As Integer     Dim AWF As WorksheetFunction

'Add Names to keep here     vKeep = Array("Name1", "Name2")



Set AWF = Application.WorksheetFunction     For Each nm In ActiveWorkbook.Names         x = 0         On Error Resume Next         x = AWF.Match(nm.Name, vKeep, 0)

On Error GoTo 0         If x = 0 Then             nm.Delete         End If     Next     Set AWF = Nothing End Sub

Prima di utilizzare la macro, modificare la riga che crea l’array vKeep.

Inserisci semplicemente i nomi che desideri mantenere all’interno dell’array, ogni nome racchiuso tra virgolette e separato da virgole. (Nell’esempio mostrato qui, i nomi “Nome1” e “Nome2” verranno mantenuti.) La macro scorre tutti i nomi nella cartella di lavoro e utilizza la funzione Match per vedere se il nome è uno nell’array. Se non lo è, viene eliminato.

Se preferisci utilizzare una soluzione di terze parti per la gestione dei nomi nella cartella di lavoro, un’ottima scelta è il componente aggiuntivo Name Manager, scritto da Jan Karel Pieterse. Puoi trovare ulteriori informazioni sul componente aggiuntivo qui:

http://www.jkp-ads.com/officemarketplacenm-en.asp

_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 (2419) 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: