mit verschiedenen Varianten versuche ich Bereichnamen von einer Arbeitsmappe in eine andere zu kopieren. Im Internet habe ich nachfolgendes Makro gefunden. Allerdings bricht es mit dem Hinweis ab, dass in den Bezügen Formeln mit "=" verwendet werden.
Bereichname: K_Bemerkung
=GBU_Kunden.xlsm!K_Bemerkung
Was muss hier angepasst werden, dass das Gleichheitszeichen mit kopiert und nicht als Formel-Fehler angezeigt wird?
Hier das Makro
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("gbu_aktuell.xlsm")
''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
Gruß
Günther