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

Forumthread: Problem mit Dynamische Namen im Makro

Problem mit Dynamische Namen im Makro
Daniel
Hallo
ich habe folgendes Problem:
ich möchte per Makro auf einen dynamischen Namen (Zellbezug, der mit Bereich.Verschieben definiert ist) zugreifen.
da mehrere Dateien im Spiel sind, muss vollständig referenziert werden.
bisher sind mir folgende Möglichkeiten bekannt:
1. Workbooks("xy").Sheets("abc").Range("MeinName").Copy
dies funktioniert, allerdings muss hierfür das Sheet bekannt sein, auf das sich der Name bezieht, dies ist aber nicht der Fall, daher müsste ich folgendes verwenden:
2. Workbooks("xy").Names("MeinName").RefersToRange.Copy
dies funktioniert allerdings nur, wenn der Name mit einem festen Zellbezug definiert ist.
ist der Name hingegen berechnet, dann verursacht diese Methode einen Fehler.
Daher meine Frage: Wie kann ich in VBA einen Namen mit berechnetem Zellbezug verwenden, wenn das Sheet, auf das er sich bezieht NICHT bekannt ist?
hier mal ein Beispiel zur Verdeutlichung:
https://www.herber.de/bbs/user/65071.xls
Gruß, Daniel
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Evaluate(Names("...").RefersTo)
13.10.2009 23:02:18
Erich
Hi Daniel,
probier mal

MsgBox Evaluate(wb.Names("BerechneterBezug").RefersTo).Parent.Name
Evaluate(wb.Names("BerechneterBezug").RefersTo).Copy
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Evaluate(Names("...").RefersTo) geht nicht
13.10.2009 23:17:50
Daniel
Hi Erich
danke für den Tip, leider funktioniert Evaluate nur dann, wenn die entsprechende Datei (wb) aktiv ist.
das kann ich aber nicht garantieren, da mit mehrern Dateien gearbeitet wird.
Gruß, Daniel
Anzeige
AW: Problem mit Dynamische Namen im Makro
14.10.2009 00:06:56
Gerd
'n Abend!
Sub ttt()
Dim wb As Workbook, ws As Worksheet
Set wb = Workbooks("65071.xls")
Set ws = wb.Worksheets(Split(Split(wb.Names("BerechneterBezug").RefersTo, "(")(1), "!")(0))
MsgBox ws.Name
End Sub
Gruß Gerd
AW: Problem mit Dynamische Namen im Makro
14.10.2009 00:38:07
Daniel
Hi
Danke,das ist ein interessanter Workaround, der aber nur funktioniert, wenn in der Formel das entsprechende Tabellenblatt direkt hinter der ersten Klammer steht. Das dürfte in den meisten Fällen zwar so sein, aber es kann Ausnahmen geben.
Gruß, Daniel
Anzeige
AW: Problem mit Dynamische Namen im Makro
14.10.2009 09:56:55
Luschi
Hallo Daniel,
ich lege in solchen Fällen noch einen 2. Namen an:

BerechneterBezug   -> =BEREICH.VERSCHIEBEN(Tabelle1!$A$1;;;ANZAHL2(Tabelle1!$A:$A);1)
BerechneterBezug_1 -> =BerechneterBezug
und verwende dann in Vba den 2. Namen.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: klappt
15.10.2009 00:26:21
Daniel
Hi
cool, das funktioniert.
wobei sich mir der Sinn nicht so ganz erschließt, warum das mit dem berechneten Bezug nicht geht, dafür aber mit dem Bezug, der sich auf den Berechnenten bezieht, das ist irgendwie schon seltsam.
Gruß, Daniel
;

Forumthreads zu verwandten Themen

Anzeige
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