Por que o Excel agora me fornece um aviso de intervalo de nome já existente na Folha de Cópia?

6

Eu tenho trabalhado em uma planilha do Microsoft Excel 2007 por vários dias. Estou trabalhando em um modelo mestre como uma folha e copiando-o para uma nova folha repetidamente. Até hoje, isso estava acontecendo sem problemas. No entanto, no meio de hoje isso de repente mudou e eu não sei porque. Agora, sempre que tento copiar uma planilha, recebo cerca de dez diálogos, cada um com um objeto de intervalo de nome diferente (mostrado abaixo como 'XXXX') e clico em sim para cada um:

A formula or sheet you want to move or copy contains the name 'XXXX', which already exists on the destination worksheet. Do you want to use this version of the name?

  • To use the name as defined in destination sheet, click Yes.
  • To rename the range referred to in the formula or worksheet, click No, and enter a new name in the Name Conflict dialog box.

Os objetos de intervalo de nome se referem a células na planilha. Por exemplo, E6 é chamado intervalo de nome PRE em várias planilhas (e tem sido o tempo todo) e algumas das fórmulas se referem a PRE em vez de $E$6 . Um dos 'XXXX' acima é este PRE . Esses intervalos de nome só devem ser resolvidos na planilha em que aparecem. Este não foi um problema antes, apesar do mesmo intervalo de nomes existente em várias planilhas antes. Eu quero manter meus intervalos de nomes.

O que poderia ter mudado na minha planilha para causar essa mudança de comportamento? Eu voltei para as folhas anteriores criadas dessa maneira e agora elas também passam a mensagem quando copiadas. Eu tentei um computador diferente e um usuário diferente e o mesmo comportamento é visto em todos os lugares. Eu só posso concluir algo na planilha mudou. O que isso poderia ser e como posso recuperar o antigo comportamento, por meio do qual posso copiar folhas com intervalos de nome e não receber nenhum aviso?

Olhando no Name Manager , vejo que os intervalos de nomes que estão sendo reclamados mostram duas vezes, uma vez como escopo Template e novamente como escopo Workbook . Se eu excluir o escopo Template ones, o aviso desaparece na cópia, no entanto, recebo um monte de erros #REF. Se eu excluir o escopo Workbook ones, tudo parece bem e os avisos na cópia vão embora também, então talvez essa seja a resposta, mas estou nervosa sobre o efeito que essa exclusão terá e saber como os Workbook vieram em existência em primeiro lugar.

Será seguro excluir apenas as entradas do escopo do gerenciador de nomes Workbook e como elas podem ter surgido sem que eu saiba inicialmente?

    
por WilliamKF 14.09.2012 / 22:31

6 respostas

5

Abra o Gerenciador de Nomes e localize os itens nomeados que estão sendo reclamados e exclua todos aqueles com o escopo Workbook e o problema com a cópia das planilhas desaparece e as fórmulas permanecem intactas.

    
por 14.09.2012 / 22:51
3
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
    
por 11.07.2014 / 11:59
2

Isso não é um erro, mas um aviso de que existe um conflito e oferece uma escolha sobre o que fazer

Quando você copia um intervalo que inclui referência a um intervalo nomeado (geralmente no escopo da planilha) e esse mesmo nome existe na planilha de destino, como o Excel saberá qual nome você deseja usar no resultado?

Quanto ao que foi alterado, sugiro que você revise todos os nomes em sua pasta de trabalho, especialmente para o escopo. Gerenciador de nomes - Ctrl-F3

    
por 14.09.2012 / 22:52
0

Esses nomes são principalmente o resultado de um download de dados por meio de uma API de terceiros. As APIs normalmente usam esses nomes como espaços reservados para referência de célula.

Depois de processar alguns dados, esses nomes são deixados na maioria das vezes como um usuário geral não limpa as folhas ocultas (ou muito ocultas). A dificuldade associada a esses nomes é que eles também não aparecem na caixa NAMES e, portanto, não podem ser excluídos por meio dessa opção.

Uma maneira que eu faço é programá-lo através de um script VBA. Amostra abaixo

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

Observe que esse script excluirá TODOS os nomes da pasta de trabalho, portanto, se houver determinados nomes definidos que você gostaria de manter, insira as exceções no código.

Se alguém tiver uma solução mais eficiente, informe-nos.

    
por 04.11.2013 / 09:47
0

O mesmo problema aqui com 27 misteriosos intervalos nomeados. Eu usei Ctrl + F3 (como recomendado em outra resposta) para ver a lista de intervalos nomeados (que eu nunca tinha configurado!). Havia muitos desde que eu estava copiando a guia da planilha várias vezes e apenas clicando em "sim" para contornar a mensagem. Eu destaquei e excluí todos os intervalos nomeados (uma tela pequena de cada vez, não era possível selecionar tudo). Na próxima vez que tentei copiar a planilha, a cópia foi bem-sucedida sem a mensagem de aviso.

Não deixe de copiar o arquivo original antes de tentar isso.

    
por 01.07.2013 / 20:49
0

Eu tive o mesmo problema e tentei cada solução fornecida, com sucesso variável:

1) Eu abri o Gerenciador de Nomes e, com certeza, havia um monte de Nomes que eu nunca criei; no entanto, eles não eram os nomes que estavam sendo avisados. Eu os deletei de qualquer forma para me livrar da desordem, mas essa não foi a solução.

2) Eu tentei o código fornecido pelo Viquar (iniciar "Sub do_loops_names"). Acho que parte do código foi perdido, porque não consigo ver como ele realmente faz alguma coisa e, com certeza, nada aconteceu.

3) Eu tentei o código fornecido pelo user345338 (começa com "Sub TOOLS _...") - PERFECT . Ele me levou através de todos os nomes escondidos que de alguma forma estavam presos na pasta de trabalho e os apagou. Muito obrigado, user345338 (quem quer que seja!).

BTW, to "codea" - o código do user345338 não é "inútil", pois resolveu o meu problema.

    
por 20.02.2015 / 23:03