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

Warum gibt mir Excel beim Kopieren eines Blattes eine Warnung vor einem bereits vorhandenen Namensbereich?

Ich arbeite seit einigen Tagen an einer Microsoft Excel 2007-Tabelle. Ich arbeite von einem Master-Template-ähnlichen Blatt und kopiere es wiederholt in ein neues Blatt. Bis heute geschah dies ohne Probleme. In der Mitte des heutigen Tages änderte sich dies jedoch plötzlich und ich weiß nicht, warum. Jetzt erhalte ich jedes Mal, wenn ich versuche, ein Arbeitsblatt zu kopieren, etwa zehn Dialoge, jeder mit einem anderen Namensbereichsobjekt (unten als ‘XXXX’ dargestellt), und ich klicke bei jedem einzelnen auf Ja:

Eine Formel oder ein Blatt, das Sie verschieben oder kopieren möchten, enthält den Namen ‘XXXX’, der auf dem Zielarbeitsblatt bereits existiert. Möchten Sie diese Version des Namens verwenden?

  • Um den Namen so zu verwenden, wie er im Zielblatt definiert ist, klicken Sie auf Ja.
  • Um den Bereich, auf den sich die Formel oder das Arbeitsblatt bezieht, umzubenennen, klicken Sie auf Nein, und geben Sie einen neuen Namen im Dialogfeld Namenskonflikt ein.

Die Namensbereichsobjekte beziehen sich auf Zellen im Blatt. Zum Beispiel wird E6 auf mehreren Blättern als Namensbereich PRE bezeichnet (und war es die ganze Zeit), und einige der Formeln beziehen sich auf PRE anstelle von $E$6. Eines der ‘XXXX’ oben ist dieses PRE. Diese Namensbereiche sollten nur innerhalb des Blattes aufgelöst werden, in dem sie erscheinen. Dies war vorher kein Problem, obwohl derselbe Namensbereich auf mehreren Blättern vorhanden war. Ich möchte meine Namensbereiche beibehalten.

Was könnte sich in meiner Tabellenkalkulation geändert haben, um diese Verhaltensänderung zu verursachen? Ich bin zu früheren Blättern zurückgegangen, die auf diese Weise erstellt wurden, und jetzt zeigen auch sie die Meldung an, wenn sie kopiert werden. Ich habe es auf einem anderen Computer und mit einem anderen Benutzer versucht, und überall ist das gleiche Verhalten zu sehen. Ich kann nur vermuten, 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 im Bereich Name Manager nachschaue, sehe ich, dass die beanstandeten Namensbereiche zweimal angezeigt werden, einmal als Bereich Template und dann wieder als Bereich Workbook. Wenn ich den Bereich Template lösche, verschwindet die Warnung beim Kopieren, aber ich erhalte eine Reihe von #REF-Fehlern. Wenn ich den Bereich Workbook ones lösche, scheint alles in Ordnung zu sein und die Warnungen beim Kopieren gehen auch weg, also ist das vielleicht die Antwort, aber ich bin nervös, welchen Effekt dieses Löschen haben wird und frage mich, wie die Workbook ones überhaupt entstanden sind.

Wird es sicher sein, nur die Workbook name manager scoped Einträge zu löschen und wie könnten diese in Existenz gekommen sein, ohne dass ich es weiß?

Antworten (6)

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

Öffnen Sie den Namensmanager und suchen Sie die beanstandeten benannten Elemente und löschen Sie alle mit dem Geltungsbereich Workbook und das Problem mit dem Kopieren von Blättern verschwindet und die Formeln bleiben intakt.

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

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

Wenn Sie einen Bereich kopieren, der einen Verweis auf einen (typischerweise Arbeitsblattbereich) benannten Bereich enthält, und derselbe Name auf dem Zielblatt vorhanden ist, wie soll Excel wissen, welchen Namen Sie im Ergebnis verwenden wollen?

Um herauszufinden, was sich geändert hat, schlage ich vor, dass Sie alle Namen in Ihrer Arbeitsmappe überprüfen, insbesondere für den Bereich.
Namensmanager - Ctrl-F3

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

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

Sobald Sie einige Daten verarbeitet haben, werden diese Namen meist zurückgelassen, da ein allgemeiner Benutzer die ausgeblendeten (oder sehr ausgeblendeten) Blätter nicht aufräumt. Die Schwierigkeit im Zusammenhang mit diesen Namen ist, dass sie auch nicht im Feld NAMEN auftauchen und daher nicht über diese Option gelöscht werden können.

Ein Weg, den ich beschreite, ist die Programmierung über ein VBA-Skript. 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 es also bestimmte definierte Namen gibt, die Sie behalten möchten, fügen Sie die Ausnahmen im Code ein.

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

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

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

1) Ich öffnete den Namens-Manager und tatsächlich gab es eine Reihe von Namen, die ich nie erstellt hatte; allerdings waren es NICHT die Namen, vor denen ich gewarnt wurde. Ich habe sie trotzdem gelöscht, um das Durcheinander loszuwerden, aber das war nicht die Lösung.

2) Ich habe den von Viquar bereitgestellten Code ausprobiert (starten Sie “Sub do_loops_names”). Ich denke, ein Teil des Codes wurde übersehen, denn ich kann nicht erkennen, wie er tatsächlich etwas tut, und natürlich passierte nichts.

3) Ich habe den von user345338 bereitgestellten Code ausprobiert (beginnt mit “Sub TOOLS_…”) - PERFEKT. Er hat mich durch alle versteckten Namen geführt, die irgendwie in der Arbeitsmappe feststeckten, und sie gelöscht. Vielen Dank, user345338 (wer auch immer Sie sind!).

BTW, an “codea” - der Code von user345338 ist nicht “nutzlos”, da er mein Problem gelöst hat.

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

Das gleiche Problem hier mit 27 mysteriösen benannten Bereichen. Ich verwendete Strg+F3 (wie in einer anderen Antwort empfohlen), um die Liste der benannten Bereiche (die ich nie eingerichtet hatte!) anzuzeigen. Es waren viele, da ich die Arbeitsblatt-Registerkarte oft kopiert und einfach auf “Ja” geklickt hatte, um die Meldung zu umgehen. Ich markierte und löschte alle benannten Bereiche (ein kleiner Bildschirm nach dem anderen, ich konnte nicht alle auswählen). Als ich das nächste Mal versuchte, das Arbeitsblatt zu kopieren, gelang das Kopieren ohne die Warnmeldung.

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