joerg18470
Goto Top

Wie kann ich automatisch aus neu angelegten Tabellen Zellen auslesen lassen ?

Hallo zusammen,
ich habe eine Mappe erstellt, in der es einen Button gibt mit dem eine neue Tabelle generiert wird . Dieses nennt sich dann z.B. 1. Aufmaß - Datum, welches bei jedem neu erstellten Tabellenblatt jeweils im Namen angepasst wird. Jetzt gibt es aber noch ein Blatt welches einfach nur Aufmaß heißt, in diesem sollen dann die belegten Zellen ( Arbeitsort ) der generierten Tabellen ausgelesen und hinzugefügt werden. Sollte es diesen schon aus einem vorigen Aufmaß geben soll er diesen Eintrag dann noch in den Zeilen auf auf gleiche Art suchen und dazu addieren. Ich habe nicht den geringsten Ansatz wie ich dieses irgendwie realisieren könnte. In meinen Überlegungen scheitere ich immer wieder an dem Punkt, wie man eine " Bezugsabfrage" auf eine Tabelle macht die gerade erst erstellt wurde. Das mit dem testen auf schon vorhanden oder nicht kann vorerst auch vernachlässigt werden. Müßte man diese Sub einfach nur auf das Tabellenblatt legen"Aufmaß" oder einen Zellbezug gleich mit dem neuen Blatt generieren lassen. Vielleicht hat ja von euch jemand eine Idee.

Content-Key: 246102

Url: https://administrator.de/contentid/246102

Printed on: April 19, 2024 at 03:04 o'clock

Member: Joerg18470
Joerg18470 Aug 10, 2014 at 14:05:44 (UTC)
Goto Top
Nur mal noch so ein Gedanke, könnte man die Namen der zu erstellenden Blätter nicht mit in ein Array eintragen lassen, dieses Array in eine Schleife bauen in welcher bei jedem Durchlauf eine der Tabellen ausgelesen wird ? Bleibt die Frage wie man es lösen kann das trotz der Schleifen die Aufmaß Tabelle aktuell bleibt, sprich wenn ich in eine der anderen Tabellen ein Zeichen eingebe das dieses auch live in dieser Tabelle geändert wird.
Member: colinardo
colinardo Aug 10, 2014 updated at 14:47:21 (UTC)
Goto Top
Hallo Joerg,
dazu benötigst du noch nicht einmal VBA, wenn du es mit einer Pivot-Tabelle und konsolidierten Bereichen machst:
Makro zum Werte verschiedener Tabellenblätter in einer separaten Mappe zusammenzufügen
Das Demosheet im Beitrag ist nicht mehr verfügbar, deswegen hier ein passendes zum Download

Zum Aktualisieren der Pivottabelle muss man einen Rechtsklick in den Datenbereich machen und Aktualisieren wählen, das lässt sich natürlich auch mit VBA automatisieren, z.B. bei jedem Blattwechsel.

Hier hatte ich auch schon mal eine Lösung gepostet wie man es in Kombination mit Pivot einer variablen Anzahl an Tabellenblättern und einem konsolidierten Bereich macht:
(Excel) Pivot über alle Tabellenblätter

Via VBA lässt sich das natürlich auch manuell machen, aber dafür gibt es eigentlich "Konsolidierte Bereiche" die das effektiver lösen.

Grüße Uwe
Member: Joerg18470
Joerg18470 Aug 17, 2014 at 11:05:47 (UTC)
Goto Top
Das ist schonmal ein richtig toller Ansatz, aber wie bekomme ich das über diese Art gelöst das das ohne das "aktualisieren" klicken live geht ? Auch wäre eine Frage wie das mit automatisch generierten Tabellen funktioniert, da diese ja der Pivot Tabelle noch nicht bekannt sind ? Durch Klick auf einen Button wird eine neue Tabelle generiert, wenn ich in dieser etwas eintrage soll dieser Wert in der evtl. Pivot-T. automatisch addiert werden. Ganz am Anfang hatte ich mit dieser Art Tabelle schon einmal geliebäugelt face-wink aber die Anforderungen die ich daran habe konnte ich mir darüber nicht erfüllen. Vielleicht ist es auch einfach nur an Unwissenheit gescheitert, das ich nur nicht weis wie ich dieses auf die Art anstellen muß. Ich schaue mir das jetzt aber gleich nochmal an, da ich es aber wirklich als sehr guten Ansatz sehe.
Member: colinardo
colinardo Aug 18, 2014 updated at 08:14:25 (UTC)
Goto Top
Zitat von @Joerg18470:
Das ist schonmal ein richtig toller Ansatz, aber wie bekomme ich das über diese Art gelöst das das ohne das
"aktualisieren" klicken live geht ?
steht im Code des zweiten Links in Zeile 17.
Auch wäre eine Frage wie das mit automatisch generierten Tabellen funktioniert,
da diese ja der Pivot Tabelle noch nicht bekannt sind ?
ebenfalls im Code des zweiten Links, hier wird eine Konsolidierungstabelle im Code anhand der Anzahl an Arbeitsblättern auf dem ersten Sheet generiert - diese Konsolidierungstabelle dient dann als Datenquelle der Pivot-Tabelle.

Grüße Uwe