Office: (Office 2019) Füllfläche XY-Diagramm

Helfe beim Thema Füllfläche XY-Diagramm in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Servus Leute! Hätte eine Frage zu einem XY-Diagramm... Und zwar suche ich eine Möglichkeit, die Fläche zwischen den beiden Linien farbig zu füllen... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von boni95, 23. April 2023.

  1. boni95 Neuer User

    Füllfläche XY-Diagramm


    Servus Leute!

    Hätte eine Frage zu einem XY-Diagramm...
    Und zwar suche ich eine Möglichkeit, die Fläche zwischen den beiden Linien farbig zu füllen (siehe Anhang).
    Kann mir jmd. weiterhelfen?
     
    boni95, 23. April 2023
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi,

    das geht mit VBA. Dazu müsstest du aber deine Mappe mit dem Diagramm hochladen, damit man den Code auch testen kann.


    Füllfläche XY-Diagramm GrußformelFüllfläche XY-Diagramm Beverly's Excel - Inn
     
    Beverly, 23. April 2023
    #2
  3. boni95 Neuer User
    Die Grafiken sind auf der Folie ULS-Nachweis Biegespannung drin
     
    boni95, 10. Mai 2023
    #3
  4. Beverly
    Beverly Erfahrener User

    Füllfläche XY-Diagramm

    Die Datenreihe mit den eigentlichen Daten ist nicht in allen Diagrammen identisch benannt, was das Erstellen des Codes wesentlich und unnötig erschwert und somit verzögert hat - du hast diesen Datenreihen nicht so wie den anderen Datenreihen einen spezifischen Namen gegeben sondern den automatisch von Excel erstellten Namen belassen und so heißt sie mal Datenreihen1 und mal Datenreihen3, je nachdem, in welcher Reihenfolge du sie erstellt hast. Benenne diese Datenreihe in allen Diagrammen also identisch um (z.B. "MeineDaten"), dann kannst du die Flächen mit folgendem Makro erstellen:
    Code:
    Sub FleachenEinfuegen()
        Dim lngPunkte As Long
        Dim chrDia As ChartObject
        Dim serReihe As Series
        Dim serLinie As Series
        Dim shaShape As Shape
        Dim dbl0 As Double
        Dim dblStart As Double
        For Each chrDia In ActiveSheet.ChartObjects
        With chrDia.Chart
            If .Shapes.Count > 0 Then
                For Each shaShape In .Shapes
                    If shaShape.Name = "MeineFlaeche" Then shaShape.Delete
                Next shaShape
            End If
            For Each serReihe In .SeriesCollection
                If serReihe.Name = "0-Linie" Then
                    dbl0 = serReihe.Points(1).Left
                    dblStart = serReihe.Points(1).Top
                End If
                If serReihe.Name = "MeineDaten" Then Set serLinie = serReihe  '<== Name anpassen!!
            Next serReihe
            With .Shapes.BuildFreeform(msoEditingAuto, dbl0, dblStart)
                For lngPunkte = 1 To serLinie.Points.Count
                    If IsEmpty(serLinie.XValues(lngPunkte)) Then Exit For
                    .AddNodes msoSegmentLine, msoEditingAuto, serLinie.Points(lngPunkte).Left, serLinie.Points(lngPunkte).Top
                Next lngPunkte
                .AddNodes msoSegmentLine, msoEditingAuto, dbl0, serLinie.Points(serLinie.Points.Count).Top
                .AddNodes msoSegmentLine, msoEditingAuto, dbl0, serLinie.Points(1).Top
                .ConvertToShape
            End With
            With .Shapes(.Shapes.Count)
                .Name = "MeineFlaeche"
                .Fill.Transparency = 0.45
                .Fill.ForeColor.RGB = 255
                .Line.Visible = msoFalse
                .Top = .Top - 0.5
                If serLinie.Points.Count > 28 Then
                    .ScaleHeight 0.996, msoFalse, msoScaleFromTopLeft
                Else
                    .ScaleHeight 0.99, msoFalse, msoScaleFromTopLeft
                End If
            End With
        End With
        Next chrDia
        Set chrDia = Nothing
    End Sub
    
    Beachte: dieser Code gilt ausschließlich für die Diagramme in dieser Arbeitsmappe, das sie den selben Aufbau haben. Das Prinzip ist zwar für jedes andere Diagramm auch anwendbar, muss aber immer individuell an die konkreten Gegebenheiten angepasst werden.



    Füllfläche XY-Diagramm GrußformelFüllfläche XY-Diagramm Beverly's Excel - Inn
     
    Beverly, 11. Mai 2023
    #4
  5. boni95 Neuer User
    Servus Danke mal für die Rückmeldung.
    Hab das mal ausprobiert als Test, bei der ursprünglichen Mappe kam gleich "laufzeitfehler 91 objektvariable oder with-blockvariable nicht festgelegt"
    und das diagramm sieht dann so aus...
    Woran liegt denn das?
     
    boni95, 13. Mai 2023
    #5
  6. Beverly
    Beverly Erfahrener User
    Das halte ich für ein Gerücht...



    Füllfläche XY-Diagramm GrußformelFüllfläche XY-Diagramm Beverly's Excel - Inn
     
    Beverly, 13. Mai 2023
    #6
  7. Beverly
    Beverly Erfahrener User
    Und was deine heute um 19:24 Uhr hochgeladene Mappe betrifft kann ich nur sagen, dass du meinen Beitrag, in dem ich den Code gepostet hatte, nicht richtig gelesen hast:

    In deiner zuletzt hochgeladenen Mappe ist das Diagramm nämlich anders aufgebaut als in deiner ursprünglichen Mappe vom Mittwoch 14:07 - du musst dich also nicht wundern, dass das Ergebnis nicht deinen Erwartungen entspricht. In dieser neuen Mappe:

    1. schließt die 0-Linie nicht wie in deiner zuerst hochgeladenen Mappe mit dem hiedrigsten und höchsten Y-Wert der Datenreihe mit den Spannungswerten ab sondern hat unten und oben jeweils einen Y-Wert mehr - der ursprüngliche Code nimmt aber den oberen und unteren Abschluss für das Shape aus genau diesen beiden Datenpunkten.

    2. heißt die 0-Linie nicht mehr 0-Linie wie in deiner Ausgangsdatei - ich hatte nicht geschrieben, dass du ALLE Datenreihen "MeineDaten" nennen sollst sondern nur diejenige mit den eigentlichen Werten, und zwar die Datenreihen, die in deiner ursprünglichen Mappe entweder Datenreihen1 oder Datenreihen3 von Excel automatisch benannt waren, damit sie (und NUR SIE) in allen Diagrammen denselben eindeutigen Namen haben. Alle anderen Datenreihen hattest du ja mit jeweils einem eindeutigen Namen benannt, der für alle Diagramme jeweils derselbe ist.

    3. liegt die 0-Linie hier auf der Vertikalachse, in der ursprünglichen Mappe war die Horizontalachse so formatiert, dass die Vertikalachse beim maximalen Achsenwert schneidet.

    Benenne die Datenreihe (die jetzt mit der Position der Vertikalachse zusammenfällt) um, und zwar wieder in 0-Linie, dann lässt sich der Code problemlos wie folgt anpassen:

    Code:
    Sub FleachenEinfuegen()
        Dim lngPunkte As Long
        Dim chrDia As ChartObject
        Dim serReihe As Series
        Dim serLinie As Series
        Dim shaShape As Shape
        Dim dbl0 As Double
        Dim dblStart As Double
        For Each chrDia In ActiveSheet.ChartObjects
        With chrDia.Chart
            If .Shapes.Count > 0 Then
                For Each shaShape In .Shapes
                    If shaShape.Name = "MeineFlaeche" Then shaShape.Delete
                Next shaShape
            End If
            For Each serReihe In .SeriesCollection
                If serReihe.Name = "0-Linie" Then dbl0 = serReihe.Points(1).Left
                If serReihe.Name = "MeineDaten" Then
                    Set serLinie = serReihe
                    dblStart = serReihe.Points(1).Top
                End If
            Next serReihe
            With .Shapes.BuildFreeform(msoEditingAuto, dbl0, dblStart)
                For lngPunkte = 1 To serLinie.Points.Count
                    If IsEmpty(serLinie.XValues(lngPunkte)) Then Exit For
                    .AddNodes msoSegmentLine, msoEditingAuto, serLinie.Points(lngPunkte).Left, serLinie.Points(lngPunkte).Top
                Next lngPunkte
                .AddNodes msoSegmentLine, msoEditingAuto, dbl0, serLinie.Points(serLinie.Points.Count).Top
                .AddNodes msoSegmentLine, msoEditingAuto, dbl0, serLinie.Points(1).Top
                .ConvertToShape
            End With
            With .Shapes(.Shapes.Count)
                .Name = "MeineFlaeche"
                .Fill.Transparency = 0.45
                .Fill.ForeColor.RGB = 255
                .Line.Visible = msoFalse
            End With
        End With
        Next chrDia
        Set chrDia = Nothing
    End Sub
    


    Füllfläche XY-Diagramm GrußformelFüllfläche XY-Diagramm Beverly's Excel - Inn
    [/QUOTE]
     
    Beverly, 13. Mai 2023
    #7
  8. boni95 Neuer User

    Füllfläche XY-Diagramm

    Hat funktioniert, danke dir für die Hilfe und sorry wegen der Unklarheiten... hab im 2. Sem das letzte Mal mit VBA was gemacht.
     
    boni95, 14. Mai 2023
    #8
  9. Beverly
    Beverly Erfahrener User
    Dein Diagramm kann man übrigens aus 1 einzigen Datenreihe anstatt aus 4 Datenreihen und damit wesentlich einfacher erstellen, was natürlich den Code unkomplizierter macht - man muss nicht erst den Datenreihennamen ermitteln sondern kann einfach die 1. Datenreihe ansprechen, weil Start- und Endpunkt der Freihandform dann der 1. Datenpunkt dieser einen Datenreihe sind.

    Für deine (fehlenden) VBA-Kenntnisse musst du dich nicht entschuldigen Füllfläche XY-Diagramm *;)*, dafür gibt es ja dieses Forum um dabei zu helfen, diese aufzufrischen und/oder zu erweitern. Und falls du Fragen zum Code hast - dann stelle sie einfach.


    Füllfläche XY-Diagramm GrußformelFüllfläche XY-Diagramm Beverly's Excel - Inn
     
    Beverly, 14. Mai 2023
    #9
Thema:

Füllfläche XY-Diagramm

Die Seite wird geladen...
  1. Füllfläche XY-Diagramm - Similar Threads - Füllfläche Diagramm

  2. Diagramm als Vollbild?

    in Microsoft Excel Hilfe
    Diagramm als Vollbild?: Diagramm als Vollbild? Hallo, ich hab in einem Arbeitsblatt einige Daten, und im gleichen Arbeitsblatt ein / mehrere dazugehörige(s) Diagramm(e). Ich möchte, wenn ich auf ein Arbeitsblatt...
  3. XY-Diagramm-Grafik mit zusätzlichen Daten erweitern

    in Microsoft Excel Hilfe
    XY-Diagramm-Grafik mit zusätzlichen Daten erweitern: Servus! Im Zuge meiner MA-Arbeit müsste ich bereits ermittelte Daten, welche als PDF vorliegen in Excel durch eigens ermittelte erweitern (Bild1). Da wir zu den eigentlichen Daten keinen Zugang...
  4. Jedes Diagramm hat eigenen Verknüpfung

    in Microsoft PowerPoint Hilfe
    Jedes Diagramm hat eigenen Verknüpfung: Hallo und einen schönen guten morgen, da ich ein Freund von Automatisierung bin, habe ich einen PPT Bericht mit Excel verknüpft um diese immer Up to date zu halten. Das funktioniert auch...
  5. Diagramm übernimmt nicht alle Daten

    in Microsoft Excel Hilfe
    Diagramm übernimmt nicht alle Daten: Moin zusammen, Ich muss ein Diagramm mit Daten aus einer Excel Tabelle erstellen. Das Problem ist, dass die Hälfte der Daten mir nicht im Diagramm angezeigt wird. Habt ihr Ideen, was ich machen...
  6. Fixierung der Farbe für eine Kategorie im Diagramm

    in Microsoft Excel Hilfe
    Fixierung der Farbe für eine Kategorie im Diagramm: Hallo zusammen, ich habe ein Liniendiagramm in Excel mit vielen verschiedenen Informationen erstellt. Jetzt will ich die Farben einzelner Linien ändern. Das ist durch die "Formatierungs"...
  7. Mehrere Tabellen in einer Pivot Grafik

    in Microsoft Excel Hilfe
    Mehrere Tabellen in einer Pivot Grafik: Hallo, ich habe eine Excel Datei erstellt. Es geht in der Excel Tabelle darum das Lieferdatum mit dem vom System vorgegebenen Datum zu vergleichen und das dann in einer Grafik darzustellen. Soweit...
  8. Alle Werte bei Diagramm im Titel statt eingefügt

    in Microsoft Excel Hilfe
    Alle Werte bei Diagramm im Titel statt eingefügt: Hallo zusammen, ich möchte bei einer Umfrage wissen wie oft nun der Wert Schüler, Vollzeit- oder Teilzeitbeschäftigt ausgewählt wurde (siehe Bild). Im Video von unserem Prof. markiert er nur...
Schlagworte:
  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