Dynamischer Namensbereich und Pivot mittels SQL
15.04.2016 09:32:39
Mathias
ich habe dieses Problem bereits in einem anderen Forum erörtert, es gab dazu einen Makro-Hilfe-Ansatz, aber es ist nicht sonderlich einfach für mich.
Daher schreibe ich hier noch einmal, in der Hoffnung, dass es vielleicht eine Lösung/Erklärung mit Bordmitteln gibt.
Ich habe eine Mappe1 mit 2 Arbeitsblättern M1 und M2. Dort sind jeweils 5 Spalten, deren Überschriften in der Zeile 1 stehen. Da ich die Anzahl der folgenden Datenzeilen nicht fix definieren möchte, habe ich den Namensbereich wie folgt definiert:
=BEREICH.VERSCHIEBEN('M1'!$A$1;;;ANZAHL2('M1'!$A:$A);ANZAHL2('M1'!$1:$1))
In einer weiteren Mappe2 habe ich die Daten beider Arbeitsblätter aus Mappe1 in einer Pivottabelle eingefügt und dafür den Abruf mittels SQL-Statement genutzt:
SELECT *
FROM `SPEICHERORT\Mappe1.xlsx`.Namensbereich1 Namensbereich1
union all
SELECT *
FROM `SPEICHERORT\Mappe1.xlsx`.Namensbereich2 Namensbereich2
Dies funktioniert jedoch leider nicht. Der Namensbereich kann in der Mappe2 nicht gefunden werden. Definiere ich die Namensbereiche jedoch fix. Ist es kein Problem.
Ich sehe nur den Unterschied, dass bei einer fixen Definition der Namensbereiche die Spalte Werte im Namensmanager gefüllt sind. Bei der dynamischen Variante gibt es nur {...}
Ich danke für Hinweise, wie ich die dynamische Bereichsdefinition mit der Pivottabelle aus 2 Arbeitsblättern fehlerfrei nutzen kann, denn ich würde gern verhindern, ständig (Leer)-Daten aus der Pivot filtern zu müssen.L