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

Forumthread: Bereichnamen mit Formeln in andere Arbeitsmappe kopieren

Bereichnamen mit Formeln in andere Arbeitsmappe kopieren
06.08.2023 13:59:01
Günther
Hallo VBA Profis,

muss mich hier nochmal melden, da der letzte Beitrag zu lange zurück lag.
Ich möchte alle Bereichsnamen (Namensmanager) aus einer Excel Datei in eine andere kopieren. Ein entsprechendes Makro habe ich bereits gefunden. Funktioniert mit Beispiel Dateien wunderbar. Nur bei meiner gehts nicht.

Als Anlage meine Datei
https://www.herber.de/bbs/user/162207.xlsm

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("bereichsnamen.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

Grüße
Günther
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereichnamen mit Formeln in andere Arbeitsmappe kopieren
06.08.2023 14:20:31
GerdL
Hallo Günther,

Fehler ist Fehler.

''Quellmappe(ThisWorkbook).

If Not InStr(ThisWorkbook.Names(n).RefersTo, "#") Then
WbZiel.Names.Add Name:=ThisWorkbook.Names(n).Name, RefersTo:=ThisWorkbook.Names(n).RefersTo
End If
Next


Gruß Gerd
AW: Bereichnamen mit Formeln in andere Arbeitsmappe kopieren
06.08.2023 14:47:15
Günther
Hallo Gerd,
leider funktioniert es noch nicht.
Schau mal in der Anlage, da habe ich beide Tests (gbu_herber.xlsm und das Original) getestet.

https://www.herber.de/bbs/user/162209.xlsx


Grüße
Günther
Anzeige
AW: Bereichnamen mit Formeln in andere Arbeitsmappe kopieren
06.08.2023 18:13:54
Ulf
Hi Günther,
habe die Tabelle, die du gesendet hat inspiziert und dort sind Fehler in Bezügen in/ab Punkt 4.1 zu sehen, erklärbar nur, diese Datei die Namen aus einer Ursprungsdatei hatte, in der die Zellen verschoben oder gelöscht wurden. Wie schon oft hier zu lesen wäre es sinnvoller eine Vorlage samt eigener Bereiche mit Namen zu erstellen und verwenden, denn beziehen sich alle abhängigen Mappen auf deine Ursprungsmappe, müßtest du auch versionieren.
Korrekt sind solche Angaben:

Hier die Fehler, (vlt auch temporär eine Tabelle erstellt und gelöscht, o.ä.)

Wenn du das korrigierst, sollten die Makros laufen.
hth
Gruss
Ulf
Anzeige
AW: Bereichnamen mit Formeln in andere Arbeitsmappe kopieren
07.08.2023 07:41:40
Günther
Hallo Ulf,
ja es hat funktioniert. Besten Dank. Puh ich bin erleichtert.

Gestatte mir noch eine Frage. Du hast geschrieben, dass diese Bereichsnamen in einer Vorlage (versioniert) auch bereitgestellt werden können/sollen. Wie geht das denn?

Grüße
Günther
AW: Bereichnamen mit Formeln in andere Arbeitsmappe kopieren
07.08.2023 09:27:33
Ulf
Hi Günther,
wenn du nach xltm oder xltx hier im Forum suchst:
https://www.herber.de/forum/archiv/1724to1728/1727386_Wie_per_VBA_xlsm_aus_einer_Vorlagendatei_xltm_erstellen_lassen.html
allgemeiner:
https://support.microsoft.com/de-de/office/erstellen-einer-vorlage-86a1d089-5ae2-4d53-9042-1191bce57deb
Wo ist der Vorteil? Macht sich bemerkbar, wenn man oft gleiche (kunden/objektbezogen) Dateien, basierend auf einer Datei zu verwenden hat.
Du erstellst eine Datei via Datei-Neu-NAME_DER_VORLAGE, in dieser sollten die Bezüge, alle intern sein, dh. keine kreuzverbundenen Dateien verwenden.
Beim späteren Öffnen wird KEIN Bezug auf andere Mappen genommen und somit kann die Ursprungsdatei den Bedürfnissen angepasst werden, ohne abhängige Dateien berücksichtigen zu müssen. Das Prinzip verwendet man analog für Word...
Der Aufwand ist relativ gering und erspart Ärger.
thx für Meldung
hth
Grüsse
Ulf
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige