¿Trabaja habitualmente con hojas de trabajo que contienen docenas (o cientos)

de celdas con nombre, y la mayoría de esos nombres son innecesarios? Limpiar los nombres es una tarea enorme, pero deshacerse de los que no necesita puede hacer que su libro de trabajo sea más pequeño y más eficiente. El problema es, ¿cómo deshacerse de muchos nombres innecesarios a la vez? Ciertamente, puede eliminarlos uno a la vez, pero este proceso rápidamente se vuelve tedioso.

Una posible solución es simplemente crear un nuevo libro de trabajo y copiar las celdas del antiguo libro de trabajo al nuevo. Resalte las celdas en el libro de trabajo anterior, use Ctrl + C para copiarlas y luego péguelas en las hojas de trabajo del nuevo libro de trabajo. Esto copiará casi todo del libro antiguo: fórmulas, formato, etc. No trae copia sobre la configuración de impresión o los nombres de rango. La única tarea que queda es redefinir los pocos nombres que desea en el nuevo libro de trabajo.

Si prefiere trabajar con el libro de trabajo antiguo (el que tiene todos los nombres), es mejor crear una macro que borre el nombre por usted. Necesita una macro que le permita eliminar todos los nombres excepto los que desea conservar. El siguiente es un enfoque simple que logra esta tarea:

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

Antes de usar la macro, modifique la línea que crea la matriz vKeep.

Simplemente ingrese los nombres que desea mantener dentro de la matriz, cada nombre entre comillas y separado por comas. (En el ejemplo que se muestra aquí, los nombres «Nombre1» y «Nombre2» se mantendrán). La macro recorre todos los nombres del libro de trabajo y usa la función Coincidir para ver si el nombre es uno en la matriz. Si no es así, se elimina.

Si prefiere utilizar una solución de terceros para administrar los nombres en su libro de trabajo, una excelente opción es el complemento Administrador de nombres, escrito por Jan Karel Pieterse. Puede encontrar más información sobre el complemento aquí:

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

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (2419) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posteriores) aquí:

link: / excelribbon-Deleting_All_Names_but_a_Few [Eliminando todos los nombres excepto algunos].