Richard ha una cartella di lavoro che utilizza da un po ‘di tempo e contiene diversi nomi (intervalli denominati, formule con nome, ecc.). Si chiede se esista un modo semplice per trovare nomi che non vengono utilizzati affatto, poiché vorrebbe sbarazzarsi di quei nomi.

Non esiste un modo integrato per eliminare questi nomi inutilizzati. Puoi, tuttavia, creare una macro che farà il trucco per te. Ciò è più facilmente possibile utilizzando il metodo Find per capire quali nomi hanno riferimenti che possono essere “trovati”. Se non è possibile trovare il riferimento, il nome non è in uso.

Sub RidOfNames()

Dim myName As Name     Dim fdMsg As String

On Error Resume Next     fdMsg = ""

For Each myName In Names         If Cells.Find(What:=myName.Name, _           After:=ActiveCell, _           LookIn:=xlFormulas, _           LookAt:=xlPart, _           SearchOrder:=xlByRows, _           SearchDirection:=xlNext, _           MatchCase:=False, _           SearchFormat:=False).Activate = False Then             fdMsg = fdMsg & myName.Name & vbCr             ActiveWorkbook.Names(myName.Name).Delete         End If     Next myName     If fdMsg = "" Then         MsgBox "No unused names found in the workbook"

Else         MsgBox "Names Deleted:" & vbCr & fdMsg     End If End Sub

La macro passa in rassegna tutti gli elementi della raccolta Names ed esegue una ricerca per ogni nome. Se non è possibile trovare il nome, il nome viene eliminato. Quando la macro è completata, visualizza una finestra di messaggio che elenca i nomi che sono stati rimossi dalla cartella di lavoro.

Tuttavia, ci sono problemi con la macro RidOfNames. Non controlla ovunque che un nome possa essere usato. Ad esempio, non determina se i nomi sono referenziati in una macro o se vengono utilizzati su altri fogli di lavoro (inclusi fogli di lavoro nascosti) nella cartella di lavoro. Inoltre, non verifica se un particolare nome viene utilizzato in una regola di formattazione condizionale o in grafici, elenchi a discesa e altri oggetti. Anche con gli svantaggi, RidOfNames può fare miracoli in semplici cartelle di lavoro che non hanno altre macro (oltre a questa) e che contengono la maggior parte dei loro dati su un singolo foglio di lavoro.

Se preferisci non creare la tua macro, puoi scegliere di utilizzare un componente aggiuntivo gratuito di Jan Karel Pieterse. L’add-in, chiamato Name Manager, ti consente di (indovina cosa?) Gestire i nomi meglio di quanto puoi fare con Excel nativo. Una delle funzioni che fornisce è la possibilità di eliminare i nomi che non sono più necessari. Puoi trovare l’add-in 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 (10998) si applica a Microsoft Excel 2007, 2010 e 2013. È possibile trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: Finding Unused Names.