Office: Dynamisches Diagramm ??

Helfe beim Thema Dynamisches Diagramm ?? in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo liebe Community, ich habe vor mittels Checkboxen in einer Userform ein dynamisches Diagramm zu erstellen. Leider klappt es nicht so, wie ich... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von yunus68, 26. Januar 2012.

  1. Dynamisches Diagramm ??


    Hallo liebe Community,

    ich habe vor mittels Checkboxen in einer Userform ein dynamisches Diagramm zu erstellen. Leider klappt es nicht so, wie ich es mir vorstelle. Ich möchte ein Diagramm erstellen was in ein neues Tabellenblatt in die selbe Datei kommt, und dass man optional auch in der Userform die manuelle y-achs formatierung angeben kann.

    Kann mir da jmd. bitte weiterhelfen.
     
    yunus68, 26. Januar 2012
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi,

    für das Erstellen des Diagramms benötigst du nur diesen Code (Function haeckchen_zaehlen entfällt):
    Code:
    Private Sub btn_diagerz_Click()
       Dim ZeileMax As Integer
       Dim ctrElement As Control
       ZeileMax = Cells(Cells.Rows.Count, 2).End(xlUp).Row
       If ActiveSheet.ChartObjects.Count > 0 Then ActiveSheet.ChartObjects.Delete '<== vorhandene Diagramme löschen, damit nicht mehrere übereinander liegen
       With ActiveSheet.ChartObjects.Add(100, 100, 350, 250).Chart
          .ChartType = xlXYScatterLinesNoMarkers
          For Each ctrElement In UserForm.Controls
             If TypeName(ctrElement) = "CheckBox" Then
                If ctrElement.Tag <> "" Then
                   If ctrElement Then
                      .SeriesCollection.NewSeries
                      .SeriesCollection(.SeriesCollection.Count).Name = Range(ctrElement.Tag & 1)
                      .SeriesCollection(.SeriesCollection.Count).XValues = Range(Cells(2, 2), Cells(ZeileMax, 2))
                      .SeriesCollection(.SeriesCollection.Count).Values = Range(ctrElement.Tag & "2:" & ctrElement.Tag & ZeileMax)
                   End If
                End If
             End If
          Next ctrElement
       End With
    End Sub
    
    Außerdem musst du in die Tag-Eigenschaft jedes Kontrollkästchens, welches für eine Datenreihe steht, den Spaltenbuchstaben schreiben, aus welchem die Daten entnommen werden sollen.

    Bis später,
    Karin
     
    Beverly, 26. Januar 2012
    #2
  3. Dankeschön Beverely klappt alles wunderbar, nur wie kann ich jetzt das diagramm in ein neues tabellenblatt kopieren.
     
    yunus68, 27. Januar 2012
    #3
  4. Beverly
    Beverly Erfahrener User

    Dynamisches Diagramm ??

    Hi,

    ersetze im Code ActiveSheet durch Worksheets("TabelleWoHin")

    Bis später,
    Karin
     
    Beverly, 27. Januar 2012
    #4
  5. Beverely dankeschön für die Antwort, aber des meinte ich nicht.
    Habe es jetzt mit
    .Location Where:=xlLocationAsNewSheet, name:="Diagramm"
    gelöst.
     
    yunus68, 27. Januar 2012
    #5
  6. Beverly
    Beverly Erfahrener User
    Hi,

    an welcher Stelle im Code hast du das ergänzt?

    Bis später,
    Karin
     
    Beverly, 27. Januar 2012
    #6
  7. Exl121150 Erfahrener User
    Hallo @Karin,

    laut folgender Microsoft Excel-Hilfe
    müsste Dein Makro wie folgt ergänzt werden, um das eingebettete Diagramm in ein selbständiges Diagrammblatt namens "Name_des_Diagrammblattes" zu verschieben
    Code:
    Private Sub btn_diagerz_Click()[INDENT]Dim ZeileMax As Integer   
    Dim ctrElement As Control   
    ZeileMax = Cells(Cells.Rows.Count, 2).End(xlUp).Row   
    If ActiveSheet.ChartObjects.Count > 0 Then ActiveSheet.ChartObjects.Delete '<== vorhandene Diagramme löschen, damit nicht mehrere übereinander liegen   
    With ActiveSheet.ChartObjects.Add(100, 100, 350, 250).Chart      [/INDENT]
    [INDENT=2].ChartType = xlXYScatterLinesNoMarkers    
    [B].Location Where:=xlLocationAsNewSheet, Name:="Name_des_Diagrammblattes"
    [/B]For Each ctrElement In UserForm.Controls         [/INDENT]
    [INDENT=3]If TypeName(ctrElement) = "CheckBox" Then            [/INDENT]
    [INDENT=4]If ctrElement.Tag <> "" Then               [/INDENT]
    [INDENT=5]If ctrElement Then                  [/INDENT]
    [INDENT=6].SeriesCollection.NewSeries                  
    .SeriesCollection(.SeriesCollection.Count).Name = Range(ctrElement.Tag & 1)                  
    .SeriesCollection(.SeriesCollection.Count).XValues = Range(Cells(2, 2), Cells(ZeileMax, 2))                  
    .SeriesCollection(.SeriesCollection.Count).Values = Range(ctrElement.Tag & "2:" & ctrElement.Tag & ZeileMax)               [/INDENT]
    [INDENT=5]End If            [/INDENT]
    [INDENT=4]End If         [/INDENT]
    [INDENT=3]End If      [/INDENT]
    [INDENT=2]Next ctrElement   [/INDENT]
    [INDENT]End With[/INDENT]
    End Sub
    Ich muss allerdings gestehen, dass ich vorgenannten Code nicht getestet habe.
     
    Exl121150, 28. Januar 2012
    #7
  8. Beverly
    Beverly Erfahrener User

    Dynamisches Diagramm ??

    Hi Anton,

    da beim Erstellen eines Diagrammblattes mit diesem Code der Bezug zum aktiven Tabellenblatt mit den Daten nicht mehr vorhanden ist, löst das einen Fehler "Die Methode 'Range' für das Objekt Global ist fehlgeschlagen" in der Zeile

    Code:
    .SeriesCollection(.SeriesCollection.Count).Name = Range(ctrElement.Tag & 1)
    
    und den beiden Folgezeilen aus - zumindest kann ich das für Excel2010 sagen, in den anderen Versionen habe ich es nicht getestet, würde aber denken dass der Fehler dort auch auftritt, wenn man dies logisch betrachtet (wobei man bei MS bei der Logik vorsichtig sein muss :p ) .

    Um diesen Fehler zu umgehen, ergänzt man in diesen Zeilen entweder den Bezug zum Tabellenblatt oder man schiebt die Zeile

    Code:
    .Location Where:=xlLocationAsNewSheet, Name:="Name_des_Diagrammblattes"
    
    unmittelbar nach
    Code:
    Next ctrElement
    Und genau darauf wollte ich mit meiner Frage an den TO hinaus ;).



    Übrigens: die Zeile

    Code:
    If ActiveSheet.ChartObjects.Count > 0 Then ActiveSheet.ChartObjects.Delete
    benötigt man nicht mehr, wenn man ein Diagrammblatt erstellen will.

    Bis später,
    Karin
     
    Beverly, 28. Januar 2012
    #8
  9. Hallo nochmal,

    ich habe jetzt vor die obige Userform zu erweitern, undzwar möchte ich dass zu jedem Thema (CHP1,CHP2...) eine checkbox mit weiteren Daten kommt.
    Wenn die Checkbox mit "weiteren Daten" aktiviert ist, dass dann zusätzliche Checkboxen kommen.
    Wie kann ich das realisieren ??


    thx im voraus
     
    yunus68, 6. Februar 2012
    #9
Thema:

Dynamisches Diagramm ??

Die Seite wird geladen...
  1. Dynamisches Diagramm ?? - Similar Threads - Dynamisches Diagramm

  2. Dynamisches Kreisdiagramm

    in Microsoft Excel Hilfe
    Dynamisches Kreisdiagramm: Hallo, ich erstelle gerade ein dynamisches Dashboard und wollte dafür ein Kreisdiagramm einfügen. Über einen Datenschnitt möchte ich nun verschiedene Daten (Aufteilung in %) visualisieren. Mein...
  3. Dynamisches Diagramm mit DropdownMenü

    in Microsoft Excel Hilfe
    Dynamisches Diagramm mit DropdownMenü: Hallo zusammen, ich würde gerne ein dynamisches Diagramm erstellen mit verschiedenen Dropdown möglichkeiten (kein pivot). Dropdown 1: Monat auswählen --> gruppierte Säulen von Anlage 1 und...
  4. Dynamischer Datenbereich Diagramm - verschiedene Tabellenblätter

    in Microsoft Excel Hilfe
    Dynamischer Datenbereich Diagramm - verschiedene Tabellenblätter: Hallo zusammen, ich suche gerade nach einer Lösung für folgendes Problem: Durch eine Software wird eine Excel-Tabelle (leider geht nur .xlsx) mit einem Vorlagen-Tabellenblatt befüllt. Es gibt in...
  5. Dynamisches Diagramm

    in Microsoft Excel Hilfe
    Dynamisches Diagramm: Hallo Forum, in meiner Arbeitsmappe habe ich eine Datentabelle in der pro Tag die absolvierten Schritte eingetragen werden. Spalte B, das Tagesdatum. Spalte C die gelaufenen Schritte. Über eine...
  6. Diagramm (xy) Datenbeschriftung und Trendlinie

    in Microsoft Excel Hilfe
    Diagramm (xy) Datenbeschriftung und Trendlinie: Hallo zusammen, ich bin gerade am Aufbau eines Vergleichsdiagrammes, als Typ habe ich das Diagramm (XY) gewählt. Hier meine zwei Fragen: Der Punkt-Datenbeschriftung mit dem Kundenname...
  7. Dynamische Breite eines dynamischen Diagramms

    in Microsoft Excel Hilfe
    Dynamische Breite eines dynamischen Diagramms: Hallo zusammen, ich habe ein dynamisches Balkendiagramm in Excel erstellt mit dem Index-Befehl (Beispielbefehl:...
  8. Dynamisches Diagramm für "variable" Zeilen- und Spaltenanzahl mit ...

    in Microsoft Excel Hilfe
    Dynamisches Diagramm für "variable" Zeilen- und Spaltenanzahl mit ...: Hallo Forengemeinde! Ich bastel gerade ein wenig mit "dynamischen Diagrammen", basierend auf der Funktion bereich.verschieben ... einige meiner Ideen (Tabellenblätter Auswertung_1 bis...
  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