it-swarm.com.de

Warum gibt Excel mir jetzt eine bereits vorhandene Namensbereichswarnung auf dem Kopierblatt?

Ich arbeite seit mehreren Tagen an einer Microsoft Excel 2007-Tabelle. Ich arbeite von einer Master-Vorlage wie Blatt und kopiere es wiederholt auf ein neues Blatt. Bis heute geschah dies ohne Probleme. Mitte des heutigen Tages änderte sich dies jedoch plötzlich und ich weiß nicht warum. Wenn ich jetzt versuche, ein Arbeitsblatt zu kopieren, erhalte ich ungefähr zehn Dialogfelder, jedes mit einem anderen Namensbereichsobjekt (unten als "XXXX" dargestellt), und ich klicke für jedes auf "Ja":

Eine Formel oder ein Blatt, die bzw. das Sie verschieben oder kopieren möchten, enthält den Namen 'XXXX', der bereits im Zielarbeitsblatt vorhanden ist. Möchten Sie diese Version des Namens verwenden?

  • Klicken Sie auf Ja, um den im Zielblatt definierten Namen zu verwenden.
  • Klicken Sie zum Umbenennen des Bereichs, auf den in der Formel oder im Arbeitsblatt verwiesen wird, auf Nein und geben Sie im Dialogfeld Namenskonflikt einen neuen Namen ein.

Die Namensbereichsobjekte beziehen sich auf Zellen im Arbeitsblatt. Beispielsweise wird E6 auf mehreren Blättern als Namensbereich PRE bezeichnet (und war es auch schon), und einige Formeln beziehen sich auf PRE anstelle von $E$6. Eines der obigen "XXXX" ist dieser PRE. Diese Namensbereiche sollten nur in dem Blatt aufgelöst werden, in dem sie angezeigt werden. Dies war zuvor kein Problem, obwohl derselbe Namensbereich zuvor auf mehreren Blättern vorhanden war. Ich möchte meine Namensräume behalten.

Was könnte sich in meiner Tabelle geändert haben, um diese Verhaltensänderung herbeizuführen? Ich bin zu früheren Blättern zurückgekehrt, die auf diese Weise erstellt wurden, und jetzt geben sie die Nachricht auch beim Kopieren wieder. Ich habe versucht, einen anderen Computer und einen anderen Benutzer und das gleiche Verhalten ist überall zu sehen. Daraus kann ich nur schließen, dass sich etwas in der Tabelle geändert hat. Was könnte das sein und wie kann ich das alte Verhalten wiederherstellen, bei dem ich Blätter mit Namensbereichen kopieren kann und keine Warnungen erhalte?

Wenn ich mir den Name Manager ansehe, sehe ich, dass die beanstandeten Namensbereiche zweimal angezeigt werden, einmal als Scope Template und erneut als Scope Workbook. Wenn ich den Gültigkeitsbereich Template lösche, verschwindet die Warnung beim Kopieren. Ich erhalte jedoch eine Reihe von #REF-Fehlern. Wenn ich den Gültigkeitsbereich Workbook lösche, scheint alles in Ordnung zu sein und die Warnungen auf der Kopie verschwinden ebenfalls. Vielleicht ist dies die Antwort, aber ich bin nervös darüber, welche Auswirkung diese Löschung haben wird und frage mich, wie die Workbooken im Internet entstanden sind erster Platz.

Ist es sicher, nur die Einträge mit dem Gültigkeitsbereich Workbook name manager zu löschen, und wie könnten diese entstanden sein, ohne dass ich es zuerst wüsste?

6
WilliamKF

Öffnen Sie den Namensmanager, suchen Sie die beanstandeten benannten Elemente und löschen Sie alle Elemente mit dem Gültigkeitsbereich Workbook. Das Problem mit dem Kopieren von Blättern wird behoben, und die Formeln bleiben erhalten.

5
WilliamKF
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
4
user345338

Dies ist kein Fehler, sondern eine Warnung, dass ein Konflikt vorliegt, und bietet eine Auswahl an, was zu tun ist

Wenn Sie einen Bereich kopieren, der einen Verweis auf einen benannten Bereich (normalerweise Arbeitsblattbereich) enthält und auf dem Zielblatt denselben Namen hat, wie soll Excel wissen, welchen Namen Sie im Ergebnis verwenden möchten?

In Bezug auf die Änderungen empfehle ich Ihnen, alle Namen in Ihrer Arbeitsmappe zu überprüfen, insbesondere den Umfang.
Name Manager - Ctrl-F3

2
chris neilsen

Diese Namen sind meist das Ergebnis eines Datendownloads über eine Drittanbieter-API. Die APIs verwenden diese Namen normalerweise als Platzhalter für die Zellreferenzierung.

Sobald Sie einige Daten verarbeitet haben, bleiben diese Namen meist zurück, da ein normaler Benutzer die verborgenen (oder stark verborgenen) Blätter nicht bereinigt. Die Schwierigkeit, die mit diesen Namen verbunden ist, besteht darin, dass sie auch nicht im Feld NAMES angezeigt werden und daher nicht über diese Option gelöscht werden können.

Eine Möglichkeit, wie ich das mache, besteht darin, es über ein VBA-Skript zu programmieren. Beispiel unten

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

Beachten Sie, dass dieses Skript ALLE Namen aus der Arbeitsmappe löscht. Wenn Sie also bestimmte definierte Namen behalten möchten, geben Sie die Ausnahmen im Code ein.

Wenn jemand eine effizientere Lösung hat, lassen Sie es mich bitte wissen.

1
Viquar

Gleiches Problem hier mit 27 geheimnisvollen Bereichen. ich benutzte Ctrl+F3 (wie in einer anderen Antwort empfohlen), um die Liste der benannten Bereiche anzuzeigen (die ich noch nie eingerichtet hatte!). Es gab viele, seit ich die Registerkarte Arbeitsblatt viele Male kopiert und einfach auf "Ja" geklickt habe, um die Nachricht zu umgehen. Ich habe alle benannten Bereiche markiert und gelöscht (jeweils ein kleiner Bildschirm, konnte nicht alle auswählen). Beim nächsten Versuch, das Arbeitsblatt zu kopieren, war der Kopiervorgang ohne Warnmeldung erfolgreich.

Stellen Sie sicher, dass Sie Ihre Originaldatei kopieren, bevor Sie dies versuchen.

0
Tess

Ich hatte das gleiche Problem und habe jede Lösung mit unterschiedlichem Erfolg ausprobiert:

1) Ich habe den Names Manager geöffnet und es gab eine Reihe von Namen, die ich nie erstellt habe. Es waren jedoch NICHT die Namen, vor denen ich gewarnt wurde. Ich habe sie trotzdem gelöscht, um die Unordnung loszuwerden, aber das war nicht die Lösung.

2) Ich habe den von Viquar bereitgestellten Code ausprobiert (starte "Sub do_loops_names"). Ich denke, ein Teil des Codes wurde übersehen, weil ich nicht sehen kann, wie er tatsächlich etwas bewirkt, und tatsächlich ist nichts passiert.

3) Ich habe den Code von user345338 ausprobiert (beginnt mit "Sub TOOLS _...") - PERFECT. Es ging mir durch alle versteckten Namen, die irgendwie in der Arbeitsmappe steckten und löschten. Vielen Dank, user345338 (wer auch immer Sie sind!).

Übrigens zu "codea" - der Code von user345338 ist nicht "nutzlos", da er mein Problem gelöst hat.

0
Rick Schultz