Werte von Arbeitsmappe zu Arbeitsmappe übertragen

  • Excel

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von bigmac-73.

    Werte von Arbeitsmappe zu Arbeitsmappe übertragen

    Hallo,

    Hallo,

    ich habe mehrere Arbeitsmappen und möchte sie miteinander verknüpfen.
    Das heißt: eine Arbeitsmappe heißt KOSTEN und hat mehrere tabellenblätter die ein Datum als Name haben z.b 10.2014 , 11.2014 und so weiter wo kosten in den einzelnen Zeilen eingetragen sind.
    In der anderen arbeitsmappe Zusammenfassung habe ich eine Tabelle wo ich die kosten zusammen fasse aber manuell.
    Gibt es eine Möglichkeit das ich in der Arbeitsmappe Zusammenfassung in der Tabelle ein Datum eintrage und excel sich die Werte aus der arbeitsmappe KOSTEN holt und zwar bezogen aufs Datum also von dem tabellenblatt mit dem passenden datumsnamen.
    Ich ich habe mich verständlich ausgedrückt.
    Danke im voraus für die Hilfe.

    bigmac-73 schrieb:

    Gibt es eine Möglichkeit das ich in der Arbeitsmappe Zusammenfassung in der Tabelle ein Datum eintrage und excel sich die Werte aus der arbeitsmappe KOSTEN holt

    Ja.
    Aber das geht auch ohne VBA.
    Schau dir mal dir Excel-Funktion INDIRECT an.
    Damit kannst du einen Verweis auf eine beliebig zusammenkombinierte Adresse machen.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Ich habe mir die indirekt Funktion angeschaut. Sie ist ok aber nicht das was ich suche. Dabei müssen beide Tabellen offen sein und ich muss das tabellenblatt festlegen.Ich möchte aber gerne in der mappe Zusammenfassung in Zeile A1 das Datum eintragen und ecxel soll an Hand dieses Datums das tabellenblatt mit dem passende Namen in der mappe kosten suchen und die Werte aus den Zeilen in die Tabelle von der mappe Zusammenfassung eintragen. Wenn es geht.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „bigmac-73“ ()

    bigmac-73 schrieb:

    Dabei müssen beide Tabellen offen sein
    Stimmt.Das trifft aber für fast alle Varianten zu.Zum Zeitpunkt des Datenlesens muss die zweite Arbeitsmappe offen sein.In diesem Fall einfachste Variante:Workbook öffnen .. Sheet kaclkulieren .. Workbook schliessen.

    bigmac-73 schrieb:

    und ich muss das tabellenblatt festlegen
    Stimmt nicht.Im Indirekt-Parameter kannst du variablen Text mitgeben.Irgend so eine Konstruktion: =INDIREKT("[x1.xlsx]"&MONAT(A1)&"!$A$2")

    Wenn du nicht mit offensichtlich geöffnetem zweiten Workbook arbeiten willst (offen ist es immer irgendwie), kannst du es öffnen und für die Zeit des Lesens das ScreenUpdating ausschalten.

    Ansonsten musst du dein zweites Workbook irgendwie in den erstes spiegeln.
    Entweder durch Externe Verlinkung.
    Oder durch Datenverbindung (z.B. OLE).

    Wenn du reines VBA machen möchtest, musst du das Event abfangen, das bei Änderung deiner Datumszelle zuschlägt (Worksheet_Change) und im Eventhandler die zweite Arbeitsmappe öffnen, die entsprechenden Daten auslesen und wieder schliessen.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --