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