Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Excel: Benannten Bereich auf mehreren Arbeitsblättern nutzen?





Frage

Hallo, googlen blieb leider erfolglos, deswegen wende ich mich an euch. Voraussetzungen: Excel 2003/2007; 1 lokale Arbeitsmappe; 3 Arbeitsblätter; Arbeitsblatt 1 Bereich A2:C40 markiert und benannt. Problemstellung: Der Bereich enthält in Spalte A eine lfd. Nummer in Spalte B Text und in Spalte C beschreibenden Text. Diese Informationen benötige ich auf allen drei Arbeitsblättern dieser Arbeitsmappe. Die Daten sollen aus Konsistenzgründen nur in Blatt 1erfasst und geändert werden. Ein lästiges, händisches "Rumkopieren" muss ausgeschlossen werden. Frage: Wie kann ich diesen benannten Bereich auf ein anderes Arbeitsblatt übertragen? Die Daten sollen in Blatt 1 aktualisiert und ergänzt werden können. Diese Änderungen / Ergänzungen (neue Zeilen) sollen automatisch an Blatt 2 und 3 durchgereicht werden. VBA muss, wenn es anders geht, nicht sein... VDiV! Gruß Chriss

Antwort 1 von rainberg

Hallo Chris,

Formel in A2 der Tabellen2 und 3 schreiben und bis Spalte C nach rechts kopieren und dann alle 3 Zellen bis Zeile 40 nach unten kopieren

=INDEX(Tabelle1!$A$2:$C$40; ZEILE();SPALTE())

Gruß
Rainer

Antwort 2 von Chriss_netsw

Hi Rainer,

erst einmal vielen Dank für die schnelle Reaktion! Die Lösung ist schon fast das, was ich wollte. Ich bin absolut unfit in Excel, weil ich das nur für Dokuzwecke benutze.

Die Sache, das neue Zeilen automatisch Übernommen werden muss ich skripten, oder?

Gruß Chriss

PS: Meiner Meinung nach fehlt hier eine adäquate Lösung von M$-Seite her. Ich denke, ich bin nicht der Einzige, der sowas braucht.

Antwort 3 von rainberg

Hallo Chriss,

meine Formel bewirkt, das was Du gefragt hast.

Hast Du es mal probiert????


Gruß
Rainer

Antwort 4 von Chriss_netsw

Ja, hab ich umgesetzt. Sie referenziert auf die richtigen Felder und damit ist auch die Aktualisierung gesichert.

Die Haupttabelle ist als Tabelle formatiert. Wenn ich am Zeilenende mit dem Tabulator weiterschalte, wird automatisch ein neuer Datensatz (Zeile) hinzugefügt.

Auf Blatt 2 und 3 muss ich die INDEX-Formeln allerdings mit der Hand weiter nach unten ziehen um den Bezug zu den neuen Datensätzen herzustellen. Heißt, hier werden die neue Zeilen der Haupttabelle nicht automatisch hinzugefügt. Kann ich so auch nachvollziehen.

Gruß Chriss

Antwort 5 von rainberg

Hallo Chris,

wenn Du meinen Beitrag richtig gelesen hast, sind die Formeln in den Tabellen 2 und 3 bereits im Vorfeld im Bereich A2:C40 vorhanden, was bedeutet, dass auch die Daten aus Tabelle1 automatisch dort erscheinen.

Gruß
Rainer

Antwort 6 von Chriss_netsw

Hallo Rainer,

ja, das sind sie. Um mein Problem anders auszudrücken:

Das Erweitern des zu indizierenden Bereichs in Tabelle 1 um eine (oder mehrere) Zeilen auf A2:C41 bzw. A2:C(+1..n), was einem Hinzfügen einer (mehrerer) neuen Zeile entspricht.

Dann muss ja analog der Bereich in Tabelle 2 und 3, der mit den INDEX-Formeln belegt ist erweitert werden.

Kann ich evtl. diese Erweiterung automatisieren?

Denn das wird mit der Formel ja nicht bewirkt.

[Ich habe sie gemäß Deiner Beschreibung verwendet. Sie funktioniert für die aktuellen Datensätze.]

Wenn ich sie "händisch" weiter nach unten kopiere (Bereich auf Blatt 2 und 3 erweitern), dann auch für die in Tabelle 1 neu hinzugefügten Zeilen. Nur das "händisch" würde ich noch gern eleminieren.

Gruß Chriss

Antwort 7 von rainberg

Hallo Chris,

dann schreibe in die Zellen A1 der Tabellen 2 und 3 folgende Formel und kopiere sie so weit nach rechts und nach unten, wie Du es brauchst.

=WENN(INDEX(Tabelle1!$1:$65536;ZEILE();SPALTE())=0;"";INDEX(Tabelle1!$1:$65536;ZEILE();SPALTE()))

Die WENN-Abfrage verhindert die Ausgabe von Nullen, wenn die betreffenden Zellen in Tabelle1 leer sind.

Gruß
Rainer

Antwort 8 von Chriss_netsw

Hallo Rainer,

vielen Dank! Damit ist das Problem sehr gut gelöst.

Gruß Chriss