Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: (Bereichs-)Namen in andere Mappe kopieren

(Bereichs-)Namen in andere Mappe kopieren
16.08.2013 14:55:20
Norbert
Hallo zusammen,
ich suche eine Möglichkeit Bereichsnamen aus einer Datei in eine andere zu kopieren. Beim kopieren der Daten werden die Bereichsnamen nicht mit übernommen. Die Ausgangsdatei hat 735 definierte Bereichsbezüge. Ich muss 52 Bereichsbezüge zusätzlich definieren. Diese Arbeit muss in 22 Dateien getätigt werden. Gibt es eine Möglichkeit die Bereichsnamen einfach zu kopieren.
Nachfolgendes Makro habe ich aus der Forumsrecherche.
Beim fettmarkierten Teil steigt das Makro aus.
Einsatz unter Windows 7 64Bit / Office 2010 64Bit.

Sub Names_copy()
''Es muss sicher gestellt werden, dass WbZiel geöffnet ist.
''Der Name der Zieldatei muss angepasst werden.
Dim WbZiel As Workbook
Dim n As Long
Dim Nc As Long
''ThisWorkbook ist die Mappe, in der der Code ausgeführt wird
''und in der sich die zu übetragenden Namen befinden.
''Die Anzahl der Namen in ThisWorkbook wird ermittelt.
Nc = ThisWorkbook.Names.Count
''Wenn die Anzahl der Namen größer 0 ist...
If Nc > 0 Then
''Objektvariable auf die Zielmappe setzen
Set WbZiel = Workbooks("BB.xlsx")
''Schleife über Anzahl der Namen
For n = 1 To Nc
''Namen in der Zielmappe erzeugen
''Als Name des neu erzeugten Namen wird der selbe Name verwendet,
''wie der in ThisWorkbook.
''Als Referenz des neu erzeugten Namen wird die selbe Referenz
''verwendet, wie die in ThisWorkbook.
''Die Namen werden also nicht kopiert, sondern neu erzeugt und
''mit den selben Attributen ausgestattet, wie die Namen in der
''Quellmappe(ThisWorkbook).
WbZiel.Names.Add _
Name:=ThisWorkbook.Names(n).Name, _
RefersTo:=ThisWorkbook.Names(n).RefersTo   Next
End If
End Sub

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: (Bereichs-)Namen in andere Mappe kopieren
16.08.2013 15:14:08
Hajo_Zi
vor next sollte ein Enter, bzw. gelöscht da davor kein For

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Bereichsnamen in eine andere Mappe kopieren


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei, aus der Du die Bereichsnamen kopieren möchtest.

  2. Stelle sicher, dass die Zieldatei (z.B. BB.xlsx) bereits geöffnet ist.

  3. Kopiere den folgenden VBA-Code in ein neues Modul:

    Sub Names_copy()
       Dim WbZiel As Workbook
       Dim n As Long
       Dim Nc As Long
    
       Set WbZiel = Workbooks("BB.xlsx")
       Nc = ThisWorkbook.Names.Count
    
       If Nc > 0 Then
           For n = 1 To Nc
               WbZiel.Names.Add _
                   Name:=ThisWorkbook.Names(n).Name, _
                   RefersTo:=ThisWorkbook.Names(n).RefersTo
           Next n
       End If
    End Sub
  4. Führe das Makro aus. Du kannst dies tun, indem Du im VBA-Editor F5 drückst oder das Makro direkt aus Excel startest.

  5. Überprüfe die Zieldatei auf die neu hinzugefügten Bereichsnamen.


Häufige Fehler und Lösungen

  • Fehler: "Objektvariable oder With-Blockvariable nicht gesetzt"

    • Lösung: Stelle sicher, dass die Zieldatei (BB.xlsx) geöffnet ist, während das Makro läuft.
  • Fehler: "Der Name ist bereits vorhanden"

    • Lösung: Überprüfe, ob die Bereichsnamen in der Zieldatei bereits existieren. Du kannst das Makro anpassen, um bestehende Namen zu überschreiben.
  • Probleme beim Ausführen des Makros

    • Lösung: Achte darauf, dass das Makro in einer kompatiblen Excel-Version (z.B. Excel 2010) ausgeführt wird.

Alternative Methoden

  1. Manuelles Kopieren:

    • Du kannst die Bereichsnamen manuell in die Zieldatei übertragen, indem Du die Namensverwaltung (Formeln > Namensmanager) verwendest.
  2. Excel-Funktionen:

    • Verwende Excel-Funktionen, um Daten von einer Mappe in die andere zu ziehen. Diese Methode kann jedoch nicht die Bereichsnamen übertragen.

Praktische Beispiele

  • Beispiel für das Kopieren von Bereichsnamen:

    • Angenommen, Du hast in der Ausgangsdatei einen Bereichsnamen Umsatz definiert, der auf die Zelle A1 verweist. Das Makro wird diesen Namen in der BB.xlsx anlegen, sodass Du ihn dort ebenfalls verwenden kannst.
  • Übertragung von Daten:

    • Um Excel-Daten von einer Mappe in die andere zu übertragen, kannst Du den Kopieren-Befehl in Kombination mit dem Einfügen verwenden. Dies betrifft jedoch nicht die Bereichsnamen.

Tipps für Profis

  • Benutze relative Bezüge: Achte darauf, dass die Bereichsnamen in der Quellmappe relativ sind, damit sie in der Zieldatei korrekt funktionieren.
  • Makros dokumentieren: Halte eine Dokumentation über die verwendeten Makros, um bei zukünftigen Kopiervorgängen Zeit zu sparen.
  • Testumgebung: Teste das Makro immer zuerst in einer Kopie Deiner Arbeitsmappen, um ungewollte Änderungen zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Bereichsnamen gleichzeitig kopieren?
Das oben gezeigte Makro kopiert alle definierten Bereichsnamen aus der Ausgangsdatei in die Zieldatei.

2. Kann ich Bereichsnamen auch zwischen verschiedenen Excel-Versionen übertragen?
Ja, solange beide Versionen das gleiche Namensschema unterstützen, sollte das Kopieren der Bereichsnamen problemlos funktionieren.

3. Was mache ich, wenn Namen nicht korrekt kopiert werden?
Überprüfe die Referenzen der Bereichsnamen in der Quell- und Zieldatei. Achte darauf, dass keine Konflikte mit bestehenden Namen in der Zieldatei bestehen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige