Como borrar nombres de celdas.

11/02/2005 - 12:51 por Un quijote | Informe spam
Saludos,
Tengo la siguiente rutina con la que borro todos los nombres de celda en un
libro y tengo dos preguntas:
1ª ¿Como podria borrar los nombres de solo una hoja cualquiera?
2ª Ya que el libro tiene más de 1500 nombres, y con esta rutina el proceso
se alarga en exceso, no existe alguna otra forma de mejorar el tiempo de
ejecución.

Sub borrar_Nombres()
Dim nombCelda As Name
Dim n As Integer
'Recorrer el conjunto de objetos Names y eliminar
For Each nombCelda In ActiveWorkbook.Names
n = n + 1
nombCelda.Delete
Next

End Sub

Preguntas similare

Leer las respuestas

#1 Anonimo
11/02/2005 - 16:53 | Informe spam
Pues de manera similar, en vez de utilizar workbook tienes
que utilizar Worksheet.
¿está justificado utilizar tantos nombres?
¿por qué utilizas en el bucle n = n+1?


Saludos,
Tengo la siguiente rutina con la que borro todos los


nombres de celda en un
libro y tengo dos preguntas:
1ª ¿Como podria borrar los nombres de solo una hoja


cualquiera?
2ª Ya que el libro tiene mà¡s de 1500 nombres, y con esta


rutina el proceso
se alarga en exceso, no existe alguna otra forma de


mejorar el tiempo de
ejecución.

Sub borrar_Nombres()
Dim nombCelda As Name
Dim n As Integer
'Recorrer el conjunto de objetos Names y eliminar
For Each nombCelda In ActiveWorkbook.Names
n = n + 1
nombCelda.Delete
Next

End Sub

.

Respuesta Responder a este mensaje
#2 Manuel Romero
11/02/2005 - 16:53 | Informe spam
Generalmente esta instruccion acelera la ejecucion de las macros,
especialmente cuando hay muchas actualizaciones de pantalla, pero mira a ver
si te sirve

Application.ScreenUpdating=False

La colocas al inicio de tu procedimiento

"Un quijote" escribió en el mensaje
news:
Saludos,
Tengo la siguiente rutina con la que borro todos los nombres de celda en


un
libro y tengo dos preguntas:
1ª ¿Como podria borrar los nombres de solo una hoja cualquiera?
2ª Ya que el libro tiene más de 1500 nombres, y con esta rutina el proceso
se alarga en exceso, no existe alguna otra forma de mejorar el tiempo de
ejecución.

Sub borrar_Nombres()
Dim nombCelda As Name
Dim n As Integer
'Recorrer el conjunto de objetos Names y eliminar
For Each nombCelda In ActiveWorkbook.Names
n = n + 1
nombCelda.Delete
Next

End Sub

Respuesta Responder a este mensaje
#3 Un quijote
14/02/2005 - 09:19 | Informe spam
Gracias a los dos por vuestro interes.
- El comando Application.ScreenUpdating=False, ya lo estoy utilizando.

- La linea n=n+1 ahora mismo no la utilizo, la usaba para calcular el nº
total de nombres que había en la hoja.

- El generar tantos nombres es para facilitar el trabajo con la hoja, ya que
realizo una consulta a una base de datos y lo que hago es identificar cada
dato con un nombre para poder trabajar con ellos y luego muestro los
resultados en forma de informe.

GRACIAS.
"Un quijote" wrote:

Saludos,
Tengo la siguiente rutina con la que borro todos los nombres de celda en un
libro y tengo dos preguntas:
1ª ¿Como podria borrar los nombres de solo una hoja cualquiera?
2ª Ya que el libro tiene más de 1500 nombres, y con esta rutina el proceso
se alarga en exceso, no existe alguna otra forma de mejorar el tiempo de
ejecución.

Sub borrar_Nombres()
Dim nombCelda As Name
Dim n As Integer
'Recorrer el conjunto de objetos Names y eliminar
For Each nombCelda In ActiveWorkbook.Names
n = n + 1
nombCelda.Delete
Next

End Sub

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida