Excel - Borra todo los nombres de hoja activa

 
Vista:
sin imagen de perfil

Borra todo los nombres de hoja activa

Publicado por Jonathan Gutierrez (89 intervenciones) el 05/05/2011 18:46:14
Saludos a todos en el foro
Mi pegunta se resume de la siguiente manera ¿Cómo elimino los nombres de una hoja? sé que basta con ir a formulas editar nombres los selecciono y los borro, pero ¿Cómo lo hago con una macro? utilicé elsiguiente código:

Sub BorraNombres()
n = ActiveWorkbook.Names.Count
For i = 1 To n
ActiveWorkbook.Names(1).Delete
Next i
End Sub

Cuando pruebo la macro en un libro nuevo funciona perfectamente, pero al quererla usar en el archivo que necesito (que es muy extenso y contiene nombres con errores) me marcael siguiente error:

error 1004 el nombre no comienza con una letra o un caracter de subrayado
el nombre contiene un caracter no valido
el nombre esta en conflicto con un nombre integrado en excel

los nombres que pretendo eliminar son todos nombres con errores que estaban ligados a hojas que fueron eliminadas, puedo borarlos manualmente (solo son 8), solo que quisiera que fueracon macro, debido a que la macro al terminar su proceso me sirve para agilizarmi trabajo.

¿Alguien sabe el código para borrar solo nombres con errores?

Por la atención muchas gracias

Jonathan
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Borra todo los nombres de hoja activa

Publicado por Armando (126 intervenciones) el 05/05/2011 22:33:49
Intenta con algo asi:
On Error Resume Next
For Each Nm In ThisWorkbook.Names
If Instr(1,Nm.RefersTo,"#REF")>0 Then Nm.Delete
Next Nm
On Error GoTo 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Borra todo los nombres de hoja activa

Publicado por Jonathan Gutierrez (89 intervenciones) el 07/05/2011 23:26:51
Gracias por contestar

Me borra los nombres pero no así los que aparecen en el ámbito de Libro
¿Tendrás alguna modificación al código que pudiera servir?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Borra todo los nombres de hoja activa

Publicado por Robert García (1 intervención) el 04/12/2012 17:10:50
Puede que esto te sirva también para ello; por ejemplo, yo utilicé esto para borrar todos los campor a excepsion de los que son de área de impresion:

On Error Resume Next
For i = 1 To nroNbres
If Right(ActiveWorkbook.Names(i).Name, 10) <> "Print_Area" Then
ActiveWorkbook.Names(i).Delete
End If
Next i
On Error GoTo 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar