Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1000to1004
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten von anderen Tabellenblättern

Daten von anderen Tabellenblättern
11.08.2008 18:11:00
anderen
Hallo miteinander
Ich habe ein kleines grosses Problem. Muss bis ende Woche das Problem gelöst haben und ich weiss einfach nicht weiter.
In Tabelle 9000 Zelle I15 hab ich folgende Formel:
=SUMMEWENN('m-9000'!$G$1:$G$1869;B15;'m-9000'!$R$1:$R$1869)
Das heisst, ich gehe mit dieser Formel Daten holen in der Tabelle m-9000. Jetzt möchte ich aber Daten aus vielen verschiedenen Tabellenblättern holen. Und weil ich sehr viele Zeilen habe mit dieser Formel, möchte ich diese Formeln nicht immer wieder manuell ändern müssen. Kopieren kann ich sie nicht, da dazwischen immer wieder Leerzeilen vorhanden sind (müssen).
Ich dachte nun, dass ich beispielsweise in der Spalte "L" vielleicht 10 Tabellennamen auflisten kann, und mit den Namen eine Verknüpfung zu der jeweiligen Tabelle herstellen kann. Wie kann ich das nun machen? 'm-9000'! irgendwie ersetzen und ergänzen mit einer WENN-Formel? Das übersteigt einfach meine Kenntnisse!
Vielen Dank im voraus für eure Hilfe!
Lieber Gruss
Albin
P.S. Die Datei kann ich sonst auch zusenden.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten von anderen Tabellenblättern
11.08.2008 18:19:00
anderen
Hallo,
schon mal mit Indirekt versucht, dann kannst du den Bezug als Text übergeben und diesen kannst du verändern.
Beispiel:
 A
1360

Formeln der Tabelle
ZelleFormel
A1=SUMMEWENN(INDIREKT("'m-9000'!$G$1:$G$1869"); B15;INDIREKT("'m-9000'!$G$1:$G$1869"))

Gruß Tino

Anzeige
AW: Daten von anderen Tabellenblättern
11.08.2008 18:28:00
anderen
Vielen Dank für den Tipp, funktioniert leider nicht bei mir. Kann ich dir die Datei mal zusenden?
Gruss Albin

AW: Daten von anderen Tabellenblättern
11.08.2008 18:43:05
anderen
Hallo,
vielleicht bin ich ja auf dem Holzweg oder es gibt bessere Lösungsmöglichkeiten wie die von mir
vorgeschlagene.
Daher schlage ich vor, lade sie doch einfach hier hoch,
vertrauliche Sachen kannst du ja löschen, somit können andere auch Ihre Ideen mit einbringen.
Gruß Tino

AW: Daten von anderen Tabellenblättern
11.08.2008 20:40:17
anderen
Hi
vielleicht würde das über Indirekt in Verbindung mit einer Matrix-Formel gehen, aber die einfachere Lösung ist hier wahrscheinlich, sich eine kleine, Selbstgeschriebene Funktion zu basteln, die diese aufgabe erfüllt:

Public Function SuWeTabs(Suchbereich As String, _
Suchwert As Variant, _
Summenbereich As String, _
Tabellenblätter As Range) As Double
Dim Tabs
Dim T
Tabs = Tabellenblätter.Value
For Each T In Tabs
SuWeTabs = SuWeTabs + WorksheetFunction.SumIf(Sheets(T).Range(Suchbereich), Suchwert.Value,  _
Sheets(T).Range(Summenbereich))
Next
End Function


der Code muss in ein allgemeines Modul kopiert werden und funktioniert dann ähnlich wie SummeWenn mit folgenden Parameter:
1. Parameter: Suchbereich, muss als String eingegeben werden und nicht als Zellbezug)
2. Parameter: Suchwert, (wie in SummeWenn)
3. Parameter: Summenbereich, muss wieder als String eingegeben werden
4. Parameter: Tabellenblätter: Zellbereich (1-Spaltig), in dem die Tabellenblätter aufgelistet sind:
Beispiel: "=SuWeTabs("G1:G1863";B22;"R1:R1863";$L$1:$L$5)
Gruß, Daniel
hier die Datei, die Beispielformel steht in Zeile 22
https://www.herber.de/bbs/user/54527.xls

Anzeige
AW: Daten von anderen Tabellenblättern
11.08.2008 21:04:08
anderen
Hey super, das funktioniert! Hervorragend, danke! :)
Ich hab den Code mal studiert, komme da nicht ganz nach. Da ist die Spalte L ja gar nirgends erwähnt, dort wo doch die Arbeitsmappenbuchstaben steht!? Kann ich da beliebig weit nach unten die Spalte L benutzen?
Gruss albin

AW: Daten von anderen Tabellenblättern
11.08.2008 21:22:00
anderen
Hi
nein, du musst den Zellbereich, in dem die Tabellenblattnamen ganz genau als 4. Parameter in der Formel angeben.
die Inhalte aus dem angegebenen Zellbereich (also die Tabellenblattnamen) werden zuerst in die Feldvariable TABS kopiert.
T sind dann die einzelnen Tabellenblattnamen.
dh in der Schleife For Each T in TABS wird jeder einzelnen Tabellenblattname ausgewählt und in der funktion verwendet.
Gruß, Daniel

Anzeige
AW: Daten von anderen Tabellenblättern
13.08.2008 08:42:00
anderen
Vielen Dank, ich habs jetzt geschafft!

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige