Diagramme aus mehreren Worksheets erstellen

Bild

Betrifft: Diagramme aus mehreren Worksheets erstellen
von: Oli
Geschrieben am: 17.10.2015 11:43:35

Hallo zusammen
Ich habe ein kleines Problem...
Ich habe ein Excelfile mit 10 Sheets. Nun möchte ich für die Daten in jedem Sheet ein Liniendiagramm erstellen. Wie kann ich das machen, ohne dass ich in jedem Sheet wieder neu alle Daten auswählen muss und mir die Diagramme automatisch erstellt werden?
Ich habe natürlich mehrere Excel Files...
Vielen Dank!
Anbei ein Excel File
https://www.herber.de/bbs/user/100844.xlsx

Bild

Betrifft: AW: Diagramme aus mehreren Worksheets erstellen
von: Beverly
Geschrieben am: 17.10.2015 19:04:21
Hi Oli,
erstelle ein Diagramm (wie es deiner Meinung nach aussehen soll), kopiere dieses dann in die anderen Tabellenblätter und passe den Datenbereich an.




Bild

Betrifft: AW: Diagramme aus mehreren Worksheets erstellen
von: Oli
Geschrieben am: 18.10.2015 16:19:59
Hi
Ja, so habe ich es bis jetzt gemacht.
Lässt sich die Anpassung vom Datenbereich nicht automatisieren? Es sind doch eine ganze Menge an Diagrammen welche ich anpassen müsste.
mfg
Oli

Bild

Betrifft: AW: Diagramme aus mehreren Worksheets erstellen
von: Beverly
Geschrieben am: 18.10.2015 16:46:09
Hi,
automatisch geht das nicht, aber man könnte es mit VBA lösen.




Bild

Betrifft: AW: Diagramme aus mehreren Worksheets erstellen
von: Oli
Geschrieben am: 18.10.2015 17:26:11
Mit VBA kenne ich mich leider nicht aus.
Wäre das ein schwer zu lösendes Problem?

Bild

Betrifft: AW: Diagramme aus mehreren Worksheets erstellen
von: Beverly
Geschrieben am: 18.10.2015 19:28:30
Das geht mit folgendem Makro:

Sub Dias()
    Dim wksTab As Worksheet
    Dim lngLetzte As Long
    Dim rngBereich As Range
    For Each wksTab In Worksheets
        With wksTab
            If .ChartObjects.Count > 0 Then
                lngLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), _
                    .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)
                Set rngBereich = .Range(.Cells(1, 1), .Cells(lngLetzte, 6))
                With .ChartObjects(1).Chart
                    .SetSourceData Source:=rngBereich
                End With
            End If
        End With
    Next wksTab
    Set rngBereich = Nothing
End Sub



Bild

Betrifft: AW: Diagramme aus mehreren Worksheets erstellen
von: Oli
Geschrieben am: 18.10.2015 20:33:28
Danke erstmal! Wie füge ich denn das ganze jetzt ein? Wenn ich versuche ein Makro zu erstellen und dieses dann laufen lasse, passiert leider nichts.

Bild

Betrifft: AW: Diagramme aus mehreren Worksheets erstellen
von: Beverly
Geschrieben am: 18.10.2015 20:52:55
Erstelle ein Modul (nicht Klassenmodul!) und kopiere den Code dort hinein. Im Register: Ansicht -> Befehlsgruppe: Makros -> Schalter: Makros kannst du das Makro auswählen und ausführen.




Bild

Betrifft: AW: Diagramme aus mehreren Worksheets erstellen
von: Oli
Geschrieben am: 18.10.2015 20:59:51
ich hab's genau so gemacht. aber es passiert nichts.

Bild

Betrifft: AW: Diagramme aus mehreren Worksheets erstellen
von: Beverly
Geschrieben am: 19.10.2015 08:27:43
Das Diagramm hast du schon in alle Tabellen kopiert?




Bild

Betrifft: AW: Diagramme aus mehreren Worksheets erstellen
von: Oli
Geschrieben am: 19.10.2015 10:14:50
Alles klar! Das war der Fehler. Vielen Dank! :-)

Bild

Betrifft: AW: Diagramme aus mehreren Worksheets erstellen
von: Beverly
Geschrieben am: 19.10.2015 10:36:00
Es geht natürlich auch, dass man das Diagramm per VBA kopiert, aber deinem 2. Beitrag hatte ich entnommen, dass du die Diagramme bereits kopiert hast und es nur um die Anpassung des Datenbereichs geht.




Bild

Betrifft: AW: Diagramme aus mehreren Worksheets erstellen
von: Oli
Geschrieben am: 19.10.2015 12:30:40
Da habe ich mich wohl zu ungenau ausgedrückt.
Das Kopieren der Diagramme per VBA würde das Ganze natürlich erheblich erleichtern. Für einen entsprechenden Code wäre ich dir sehr dankbar! Natürlich nur wenn's nicht zu viel Umstände bereitet.

Bild

Betrifft: AW: Diagramme aus mehreren Worksheets erstellen
von: Beverly
Geschrieben am: 19.10.2015 12:53:51
Erstelle in Tabelle "KSP_1_2_1" das Diagramm und unter der Voraussetzung, dass der Name aller Tabellen, in denen ein Diagramm erstellt werden soll, mit der Zeichenkette "KSP_" beginnt, kannst du folgenden Code verwenden:

Sub Dias()
    Dim wksTab As Worksheet
    Dim lngLetzte As Long
    Dim rngBereich As Range
    Worksheets("KSP_1_2_1").ChartObjects(1).Copy
    For Each wksTab In Worksheets
        With wksTab
            If wksTab.Name <> "KSP_1_2_1" And Left(wksTab.Name, 4) = "KSP_" Then
                .Paste
                lngLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), _
                    .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)
                Set rngBereich = .Range(.Cells(1, 1), .Cells(lngLetzte, 6))
                With .ChartObjects(1).Chart
                    .SetSourceData Source:=rngBereich
                End With
            End If
        End With
    Next wksTab
    Set rngBereich = Nothing
End Sub



Bild

Betrifft: AW: Diagramme aus mehreren Worksheets erstellen
von: Oli
Geschrieben am: 19.10.2015 18:41:33
Funktioniert! Vielen vieln Dank!

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Diagramme aus mehreren Worksheets erstellen"