Eliminazione di tutti i nomi tranne alcuni (Microsoft Excel)
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: