2012-09-14 20:31:52 +0000 2012-09-14 20:31:52 +0000
7
7

¿Por qué ahora Excel me da la advertencia de rango de nombres ya existente en Copiar Hoja?

Llevo varios días trabajando en una hoja de cálculo de Microsoft Excel 2007. Estoy trabajando desde una plantilla maestra como hoja y copiándola a una nueva hoja repetidamente. Hasta hoy, esto sucedía sin problemas. Sin embargo, a mediados de hoy esto cambió repentinamente y no sé por qué. Ahora, cada vez que intento copiar una hoja de trabajo me aparecen unos diez cuadros de diálogo, cada uno con un objeto de rango de nombre diferente (que se muestra a continuación como ‘XXXX’) y hago clic en el sí de cada uno:

Una fórmula u hoja que desea mover o copiar contiene el nombre ‘XXXX’, que ya existe en la hoja de trabajo de destino. ¿Desea utilizar esta versión del nombre?

  • Para utilizar el nombre tal y como está definido en la hoja de destino, haga clic en Sí.
  • Para cambiar el nombre del rango al que se refiere la fórmula o la hoja de trabajo, haga clic en No, e introduzca un nuevo nombre en el cuadro de diálogo Conflicto de nombres.

Los objetos de rango de nombres se refieren a las celdas de la hoja. Por ejemplo, E6 se llama rango de nombres PRE en varias hojas (y lo ha sido siempre) y algunas de las fórmulas se refieren a PRE en lugar de $E$6. Uno de los ‘XXXX’ de arriba es este PRE. Estos rangos de nombres sólo deberían resolverse dentro de la hoja en la que aparecen. Esto no era un problema antes a pesar de que el mismo rango de nombres existía antes en varias hojas. Quiero mantener mis rangos de nombres.

¿Qué ha podido cambiar en mi hoja de cálculo para provocar este cambio de comportamiento? He vuelto a hojas anteriores creadas de esta manera y ahora también dan el mensaje cuando se copian. He probado con otro ordenador y otro usuario y el mismo comportamiento se ve en todas partes. Sólo puedo concluir que algo en la hoja de cálculo ha cambiado. ¿Qué puede ser esto y cómo puedo recuperar el comportamiento anterior por el que puedo copiar hojas con rangos de nombres y no recibir ninguna advertencia?

Mirando en el Name Manager veo que los rangos de nombres de los que se queja aparecen dos veces, una como ámbito Template y otra como ámbito Workbook. Si borro el ámbito Template la advertencia desaparece al copiar, sin embargo, obtengo un montón de errores #REF. Si borro el ámbito Workbook ones, todo parece estar bien y las advertencias en la copia también desaparecen, así que tal vez esta sea la respuesta, pero estoy nervioso sobre el efecto que tendrá esta eliminación y me pregunto cómo los Workbook ones llegaron a existir en primer lugar.

¿Será seguro eliminar las entradas del gestor de nombres Workbook y cómo pueden haber llegado a existir sin que yo lo sepa?

Respuestas (6)

6
6
6
2012-09-14 20:51:03 +0000

Abra el Administrador de nombres y busque los elementos con nombre de los que se queja y elimine todos los que tengan el ámbito Workbook y el problema de la copia de hojas desaparecerá y las fórmulas permanecerán intactas.

5
5
5
2014-07-11 09:59:53 +0000
Sub TOOLS_DELETENAMEDRANGE()

  Dim nm As name
  On Error Resume Next

  For Each nm In ActiveWorkbook.Names
    If (MsgBox("Delete name- " & nm.name, vbYesNo) = vbYes) Then  
      nm.Delete
    End If
  Next

  On Error GoTo 0

End Sub
2
2
2
2012-09-14 20:52:04 +0000

Esto no es un error, sino una advertencia de que existe un conflicto y ofrece una opción sobre qué hacer

Cuando copias un rango que incluye una referencia a un rango con nombre (normalmente de ámbito de hoja de trabajo), y ese mismo nombre existe en la hoja de destino, ¿cómo va a saber Excel qué nombre quiere usar en el resultado?

En cuanto a lo que ha cambiado, te sugiero que revises todos los nombres de tu libro de trabajo, especialmente los del ámbito.
Administrador de nombres - Ctrl-F3

1
1
1
2013-11-04 08:47:47 +0000

Estos nombres son en su mayoría el resultado de una descarga de datos a través de una API de terceros. Las APIs suelen utilizar esos nombres como marcadores de posición para referenciar las celdas.

Una vez que se han procesado algunos datos, estos nombres se dejan en su mayoría, ya que un usuario general no limpia las hojas ocultas (o muy ocultas). La dificultad asociada a estos nombres es que tampoco aparecen en el cuadro de NOMBRES y, por tanto, no se pueden borrar a través de esa opción.

Una forma de hacerlo es programarlo a través de un script VBA. Ejemplo abajo

Sub do_loop_names()
Dim vJunkName As Name
Debug.Print ThisWorkbook.Names.Count

For Each vJunkName In ThisWorkbook.Names
    vJunkName.Delete
Next vJunkName
End Sub

Tenga en cuenta que este script borrará TODOS los nombres del libro de trabajo, así que si hay ciertos nombres definidos que le gustaría mantener, por favor ponga las excepciones en el código.

Si alguien tiene una solución más eficiente, por favor hágamelo saber.

0
0
0
2015-02-20 22:03:14 +0000

He tenido el mismo problema, y he intentado cada solución proporcionada, con éxito variable:

1) Abrí el Gestor de Nombres y, efectivamente, había un montón de Nombres que nunca había creado; sin embargo, NO eran los nombres de los que me avisaban. Los borré de todos modos para deshacerme del desorden, pero esa no era la solución.

2) Probé el código proporcionado por Viquar (iniciar “Sub do_loops_names”). Creo que parte del código se ha perdido, porque no veo cómo hace realmente nada y, efectivamente, no pasó nada.

3) Probé el código proporcionado por user345338 (comienza con “Sub TOOLS_…”) - PERFECTO. Me recorrió todos los nombres ocultos que de alguna manera estaban atascados en el libro de trabajo y los eliminó. Muchas gracias, usuario345338 (¡quienquiera que sea!).

Por cierto, a “codea” - el código de user345338 no es “inútil” ya que resolvió mi problema.

0
0
0
2013-07-01 18:49:58 +0000

El mismo problema aquí con 27 misteriosos rangos con nombre. Utilicé Ctrl+F3 (como se recomienda en otra respuesta) para ver la lista de rangos con nombre (que nunca había configurado). Había muchos, ya que había estado copiando la pestaña de la hoja de cálculo muchas veces y haciendo clic en “sí” para evitar el mensaje. Resalté y borré todos los rangos con nombre (una pequeña pantalla a la vez, no podía seleccionar todo). La siguiente vez que intenté copiar la hoja de trabajo, la copia tuvo éxito sin el mensaje de advertencia.

Asegúrate de copiar tu archivo original antes de intentar esto.