Office: Werte-Blatt und Diagramm-Blatt in neue Mappe kopieren

Helfe beim Thema Werte-Blatt und Diagramm-Blatt in neue Mappe kopieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, allerseits! Ich versuche gerade, aus einer bestehenden Auswertung einige Blätter in eine neue Mappe zu kopieren, um diese dann auf einem... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von miriki, 12. März 2010.

  1. miriki Erfahrener User

    Werte-Blatt und Diagramm-Blatt in neue Mappe kopieren


    Hallo, allerseits!

    Ich versuche gerade, aus einer bestehenden Auswertung einige Blätter in eine neue Mappe zu kopieren, um diese dann auf einem "Ergebnis"-Laufwerk ohne Makros abzuspeichern.

    Folgende Routine (bislang):
    Code:
    Public Sub Exportiere_Ergebnis()
    
        Dim w1 As Workbook
        Dim s1 As Worksheet
        Dim w2 As Workbook
        Dim s2 As Worksheet
        Dim s As Long
    
        InitialisiereVariablen
    
        Set w1 = ThisWorkbook
    
        For s = 1 To 5
    
            Select Case s
                Case 1
                    Set s1 = w1.Worksheets(sh_werte)
                Case 2
                    Set s1 = w1.Worksheets(sh_diagramme)
                Case 3
                    Set s1 = w1.Worksheets(mrpz)
                Case 4
                    Set s1 = w1.Worksheets(abgz)
                Case 5
                    Set s1 = w1.Worksheets(zugz)
            End Select
    
            If (s = 1) Then
                s1.Copy
                Set w2 = ActiveWorkbook
                Set s2 = w2.Worksheets(w2.Worksheets.Count)
              Else
                s1.Copy after:=s2
                Set s2 = w2.Worksheets(w2.Worksheets.Count)
            End If
    
        Next s
    
    End Sub
    (sh_werte enthält die Datenquellen für die Diagramme auf sh_diagramme, die anderen 3 blätter sind weitere Detail-Werte-Blätter, aus denen die Zusammenfassungen in sh_werte resultieren.)

    Dies liefert mir die benötigten Blätter in einer neuen Mappe, soweit so gut, aber... Insbesondere die Datenquelle der Diagramme verweist nach wie vor auf die Mappe, in der das Blatt ursprünglich war. Das hilft mir also nicht so ganz weiter.

    Welche Möglichkeit habe ich, die Blätter so zu kopieren, daß die Formeln und sonstigen Bezüge quasi "lokal" in der neuen Mappe bleiben und nicht auf eine externe Mappe zeigen?

    Gruß, Michael
     
    miriki, 12. März 2010
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi Michael,

    du musst doch nur den Datenbereich der Diagramme an die Tabellenblätter in der neuen Arbeitsmappe anpassen und in den Formeln ersetzt du den Namen der Ursprungsmappe per Suchen/Ersetzen.

    Bis später,
    Karin
     
    Beverly, 12. März 2010
    #2
  3. miriki Erfahrener User
    Das ich das muß, ist mir schon klar. Ich denke, das schrieb ich auch, vielleicht nur mit anderen Worten.

    Die Frage war: Wie?

    Ansatz war ja: Ich gehe nach dem Kopieren der Blätter alle Zellen und alle Diagramme auf allen Blättern durch und suche nach '...'! um das zu entfernen. Aber das scheint mir viel zu aufwändig und langsam.

    Da gibt es doch sicher eine simplere Methode, oder?

    Gruß, Michael
     
    miriki, 17. März 2010
    #3
  4. Beverly
    Beverly Erfahrener User

    Werte-Blatt und Diagramm-Blatt in neue Mappe kopieren

    Hi Michael,

    Suchen/Ersetzen in Formeln lässt sich durchaus mit dem Makrorekorder aufzeichnen.

    Hier der Code für die Diagramme:

    Code:
    Sub TabellennameErsetzen()
        Dim inZaehler As Integer
        Dim chDiagramm As ChartObject
        For Each chDiagramm In ActiveSheet.ChartObjects
            For inZaehler = 1 To chDiagramm.Chart.SeriesCollection.Count
                chDiagramm.Chart.SeriesCollection(inZaehler).Formula = Application.Substitute( _
                    chDiagramm.Chart.SeriesCollection(inZaehler).Formula, _
                    ThisWorkbook.Name, ActiveWorkbook.Name)
            Next inZaehler
        Next chDiagramm
    End Sub
    Bis später,
    Karin
     
    Beverly, 17. März 2010
    #4
  5. miriki Erfahrener User
    Prima, der scheint soweit auch zu funktionieren. Ich habe ihn minimal für meine Bedürfnisse angepaßt. Weiß auch nicht mehr, was ich denn vermurkst hatte, als ich es so versucht hatte. So geht's auf alle Fälle und scheint, bei den paar Diagrammen, auch nicht allzu lange zu rechnen.

    Hmmm... Haste da mal'n konkrteren Tip?

    Über "Bearbeiten - Ersetzen... Strg-H" kann ich nicht in Formeln ändern.

    Und "Bearbeiten - Verknüpfungen..." krieg ich, weder manuell noch per Makro, befriedigend zum Laufen.

    Der Code-Teil, um den sich der oben von mir gepostete erweitert:
    Code:
    [...]
        Next s
    
        w2.SaveAs "t:\dummy.xls"
    
        wkb1 = w1.Name
        wkb2 = w2.Name
    
    Debug.Print wkb1 & " --> " & wkb2
    
        ActiveWorkbook.ChangeLink Name:=wkb1, NewName:=wkb2, Type:=xlExcelLinks
    
        For s = 1 To w2.Worksheets.Count
            Set s2 = w2.Worksheets(s)
    Debug.Print "* " & s2.Name
    
            For Each cob In s2.ChartObjects
                For d = 1 To cob.Chart.SeriesCollection.Count
    Debug.Print "  - " & cob.Chart.SeriesCollection(d).Formula
                    cob.Chart.SeriesCollection(d).Formula = Application.Substitute( _
                      cob.Chart.SeriesCollection(d).Formula, _
                      wkb1, wkb2)
    Debug.Print "    --> " & cob.Chart.SeriesCollection(d).Formula
                Next d
            Next cob
    
        Next s
    1. Problem: Das "saveas" - Hier werden erstmal ein paar "Nicht genügend Speicher" Fehlermeldungen ausgeworfen. Das kenne ich schon, wenn ein SVERWEIS im Spiel ist, der auf eine externe Mappe verweist. Nicht nur höchst unschön, sondern völlig unbrauchbar, weil dieses Makro später unbeaufsichtigt laufen soll.

    2. Problem: das "changelink" - Ohne vorheriges "saveas" würde hier versucht werden, sowas wie "Mappe5" statt des vorherigen Dateinamens einzusetzen. Das geht leider nicht, weil es eben keine Datei mit dem Namen gibt. Würde hier heißen: Es muß vorher ein "saveas" erfolgen. Leider scheint das "changelink" kein "" zu akzeptieren, um den externen Link nur zu entfernen.

    Und wie jetzt weiter?

    Ich würde nur höchst, höchst ungern mit einer Schleife alle Zellen auf allen Blättern durchlaufen, um .Formula auszulesen und alles zwischen [ und ] zu löschen. Das würde sicher gehen, aber dann ist das Ding stundenlang am Rechnen, schätze ich mal. Die 3 entscheidenden Blätter haben typischerweise zwischen 30.000 und 45.000 Zeilen mit 80+ Spalten. Nur die Zusammenfassung für die Diagramme ist kürzer, arbeitet dafür aber kräftig mit SVerweis und, was noch schlimmer ist, Matrix-Formeln.

    Gruß, Michael
     
    miriki, 22. März 2010
    #5
  6. Beverly
    Beverly Erfahrener User
    Hi Michael

    Also bei mir zeichnet der Makrorecorder beim Ändern in Formeln dies auf:

    Code:
        Cells.Replace What:="[Mappe3]", Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    Bis später,
    Karin
     
    Beverly, 22. März 2010
    #6
Thema:

Werte-Blatt und Diagramm-Blatt in neue Mappe kopieren

Die Seite wird geladen...
  1. Werte-Blatt und Diagramm-Blatt in neue Mappe kopieren - Similar Threads - Werte Blatt Diagramm

  2. VBA Listboxauswahl - bestimmte Werte Eintrag in ausgewählten Blättern

    in Microsoft Excel Hilfe
    VBA Listboxauswahl - bestimmte Werte Eintrag in ausgewählten Blättern: Guten Tag, ich habe eine Datei mit ca 180 Blättern (ein Blatt pro Kunde) die auch durch andere Makros erweitert werden wenn neue Kunden angelegt werden. Das erstellen der Listbox im VBA Editor...
  3. Kreuztabelle mit bedienung auf anderen Blatt werte übernehmen

    in Microsoft Excel Hilfe
    Kreuztabelle mit bedienung auf anderen Blatt werte übernehmen: Hallo zusammen, ich würde es gerne von euch wissen bzw. das einer mir Zeigt wie ich das realisieren kann. Ich habe seit einiger Zeit selber einiges ausprobiert was allerdings zur keiner Ergebnis...
  4. Alle Werte ungleich Null kopieren und in neues Blatt einfügen

    in Microsoft Excel Hilfe
    Alle Werte ungleich Null kopieren und in neues Blatt einfügen: Hallo zusammen, ich möchte aus Tabellenblatt 3 alle Werte aus der Spalte J (ab J11), die ungleich 0 sind, kopieren und untereinander (ohne Lücke) in die Spalte G (ab G6) in Tabellenblatt 2...
  5. Achsenskalierung: Werte aus Zelle holen (Diagramm in eigenem Blatt)

    in Microsoft Excel Hilfe
    Achsenskalierung: Werte aus Zelle holen (Diagramm in eigenem Blatt): Hallo, meine Datei besteht aus drei Blättern (siehe Anhang). Im ersten Blatt ("Alles") kann man im gelben Bereich ein x eintragen, wodurch die entsprechenden Werte ins Blatt "Nur Auswahl"...
  6. Wenn in Zeile bestimmter Wert dann ganze Zeile in anderes Tabellen Blatt Kopieren.

    in Microsoft Excel Hilfe
    Wenn in Zeile bestimmter Wert dann ganze Zeile in anderes Tabellen Blatt Kopieren.: Hallo, habe zwei Probleme wo ihr mir sicher helfen könnt: 1) Wenn in Zelle A2 ein bestimmter Wert steht (PWM), dann soll die ganze Zeile in ein extra dafür angelegtes Tabellen Blatt (PWM)...
  7. Bestimmte Werte auf anderes Blatt kopieren

    in Microsoft Excel Hilfe
    Bestimmte Werte auf anderes Blatt kopieren: Hallo zusammen, ich bin zur Zeit dabei mir selbst Excel nach und nach beizubringen, indem ich einfach zu jeder noch so doofen Gelegenheit eine Tabelle bastle. Im moment bin ich dabei eine...
  8. Werte aus Blatt1 in Blatt 2 zusammenfassen

    in Microsoft Excel Hilfe
    Werte aus Blatt1 in Blatt 2 zusammenfassen: Moin Moin, ich habe das Problem, dass ich nicht weiss, wie ich Werte aus Blatt1 in Blatt2 zusammenfassen kann. Blatt1 Feld B6 kommt das tägliche Datum rein Feld D6 kommt der Name rein...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden