ein (aus meiner Sicht) eigenartiges Excel/VBA-Verhalten bereitet mir Kopfzerbrechen - hoffe ihr könnt Licht in die Sache bringen. :-)
Es geht um ein größeres VBA-Projekt, das aus mehreren Arbeitsmappen besteht. In einer Mappe greife ich auf Ergebnisse einer anderen Mappe zu. Diese Ergebnisse befinden sich auf verschiedenen Blättern, und sind allesamt benannte Bereiche, und teilweise auch benannte Formeln und benannte Konstanten, die alle (!) Arbeitsmappen-weit definiert sind.
Ich möchte in der anderen Mappe per VBA auf die Ergebnisse zugreifen und dachte, das geht am einfachsten über das Names-Objekt. (Weil ich da i.Ggs. zum Range-Objekt nicht bei jedem einzelnen wissen muss, in welchem der Blätter es sich befindet.)
Ich greife daher in VBA etwa so auf die Bereiche zu:
Evaluate(Workbooks(oWbk).Names(sName).Value)
Jetzt zu meiner Frage:
Der Code hier oben klappt in den meisten Fällen wunderbar. Aber es gibt einen Fall, in dem das Ganze nicht funktioniert: nämlich wenn sName auf eine benannte Formel verweist, die eine UDF enthält.
In allen anderen Fällen funktioniert das Ganz wunderbar: nämlich wenn sName einen Verweis auf eine Zelle, eine Konstante, oder auch eine einfachere Formel enthält. Die einfachere Formel darf auch andere benannte Bereiche enthalten oder mathematische Operationen, aber eben keine UDF.
In der Arbeitsmappe selbst (nicht in VBA) funktioniert die benannte Formel ohne Probleme.
Habt ihr einen Vorschlag, wie das Ganze zu lösen ist? Ziel wäre es, den obigen Code auch für jene Namen sName zum Laufen zu bekommen, die auf benannte Formeln verweisen, die UDFs beinhalten.
Vielen Dank sagt
der Jens