Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Automatisch mehrere Diagramme erzeugen

Automatisch mehrere Diagramme erzeugen
04.01.2007 11:40:34
Sinan
Hallo,
ich möchte gerne für viele kleine Verteilungen in einer Excel-Datei automatisch Diagramme erstellen und diese rechts von der Verteilung platzieren. Hoffentlich könnt ihr mir dabei helfen bzw. ein paar Tipps dazu geben.
In einer Excel-Datei befinden sich sehr viele Variablen (bis zu 1000) mit ihren Merkmalsausprägungen und den dazugehörigen LN-Werten (bis zu 20). Diese Datei hat immer den gleichen Aufbau und ist nicht veränderlich (es dürfen keine Zeilen oder Spalten gelöscht werden!).
Ich möchte nun, dass Excel mir für jede Variablenverteilung automatisch ein kleines Diagramm erstellt, damit ich sofort Tendenzen bzw. Zusammenhänge erkennen kann und somit brauchbare Variablen von unbrauchbaren unterscheiden kann. Zum besseren Verständnis habe ich in der Beispiel-Datei manuell ein paar Diagramme erstellt. Die Diagrammwerte beziehen sich auf die Werte in Spalte D.
https://www.herber.de/bbs/user/39360.xls
Die Schwierigkeit ist nun alle Diagramme automatisch (per Makro) zu erstellen und diese übersichtlich darzustellen, da es auch Variablen mit nur zwei Ausprägungen gibt. Ich habe mir gedacht, dass man die Größe Des Diagramms von der Anzahl der Ausprägungen abhängig machen könnte.
Wäre echt super, wenn ihr ein paar Tipps für mich hättet.
Vielen Dank im voraus.
Viele Grüße
Sinan
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatisch mehrere Diagramme erzeugen
04.01.2007 15:14:30
Herbert
Hallo Sinan,
welches konkrete Problem hast du bei der Erstellung
eines Diagramms ?
gruß Herbert
AW: Automatisch mehrere Diagramme erzeugen
04.01.2007 15:37:22
Sinan
Hallo Herbert,
das Problem ist, dass ich für 1000 Variablenverteilungen unmöglich alle Diagramme manuell erstellen kann. Mit Diagrammen in VBA habe ich jedoch auch noch nie gearbeitet. Bei meinen ersten Versuchen diese Aufgabe durch VBA zu lösen, bin ich kläglich gescheitert.
Ich habe bisher noch nicht herausgefunden, wie ich eine Schleife erstelle, die sämtliche Variablenverteilungen durchgeht und jedes Mal dazu ein kleines Diagramm erstellt (wie in meiner Bsp. Datei). Ein Bild sagt mehr als 10 Zahlen mit 5 Nachkommastellen, deswegen benötige ich das, um schneller und besser brauchbare von unbrauchbaren Variablen zu unterscheiden.
Ich hoffe, dass Du mit meiner Antwort mehr anfangen kannst.
Viele Grüße
Sinan
Anzeige
AW: Automatisch mehrere Diagramme erzeugen
04.01.2007 20:52:20
Herbert
Hallo Sinan,
so wie du das beschreibst,hast du dich beim angegebenen Level
aber doch etwas geirrt...!
ich weiß schon,es fehlt zumindest ein Level!
probier das einmal:
Userbild
gruß Herbert
Anzeige
AW: Automatisch mehrere Diagramme erzeugen
05.01.2007 12:56:33
Sinan
Hallo Herbert,
vieeelen Dank für Deine Hilfe und den Code! Dein Programm hat mir sehr geholfen, denn jetzt habe ich genau das, was ich wollte: Durch einen Klick alle Charts zu den Variablenverteilungen! P-E-R-F-E-K-T!!! Habe Dein Programm noch ein bißchen abgeändert, aber auch sonst lief es makellos!
Mit meinem angegebenen Level habe ich mich wohl ein bißchen weit aus dem Fenster gelehnt, aber in die Level "Makro-Recoder" bzw. "Grundkenntnisse VBA" wollte ich mich auch nicht einordnen, da bin ich schon weiter...
Da ich Dir sehr dankbar bin, möchte ich gerne noch kurz erläutern, wie toll dieses Programm wirklich ist:
In der beigefügten Datei findest Du a.) mehrere Variablenverteilungen und b.) Dein Programm: https://www.herber.de/bbs/user/39406.xls
Die Variablenverteilungen enthalten in der Spalte A, B und C auch noch andere Informationen, da es sich hier nicht einfach nur um Verteilungen handelt, sondern um SPSS-Syntax für die Statistiksoftware SPSS. Wenn Du das Makro ausführst, werden alle Diagramme für die Verteilungen erstellt und man kann jetzt viel bequemer und schneller herausfinden, welche Variablen brauchbar sind und welche nicht. Ein perfektes Beispiel ist die Variable BEST1 ab Zeile 340. Man sieht deutlich, dass BEST1 linear ansteigt. Ein echt tolles Teil... ;-)
Ich werde das Programm noch weiter an meine Belange anpassen, da ich die Syntax und das Diagramm der unbrauchbaren Variablen komplett löschen muss, um zu einer "Netto"-Syntax zu gelangen. Vielleicht hast Du ja auch hier eine Idee? ;-)
In jedem Fall... merci beaucoup.
Viele Grüße
Sinan
Anzeige
AW: Automatisch mehrere Diagramme erzeugen
05.01.2007 16:17:16
Herbert
hallo Sinan,
wenn du das noch einbaust,wird das Diagramm plus Daten
in Zeile 340 gelöscht...drei andere aber auch noch...

Public Sub diagr_einf()
linear As Boolean
linear = True
'------
'------
        For i = ez To lz
            If Cells(i + 1, 4) < Cells(i, 4) Then linear = False
        Next
        If linear = True Then
            Call diagr_löschen(ez - 2, lz + 2)
        End If
    linear = True
Loop
End Sub
Function diagr_löschen(ez%, lz%)
Dim shp As Shape, rng As Range
Set rng = ActiveSheet.Range("a" & ez & ":i" & lz)
rng.ClearContents
For Each shp In ActiveSheet.Shapes
  If Not Intersect(shp.TopLeftCell, rng) Is Nothing Then shp.Delete
Next
End Function
     gruß Herbert
Anzeige
AW: Automatisch mehrere Diagramme erzeugen
09.01.2007 13:16:23
Sinan
Hallo Herbert,
leider konnte ich Dir nicht früher antworten, da ich ein verlängertes Wochenende hatte und erst heute wieder gekommen bin.
Vielen Dank für Deine Hilfe! Habe mir Dein Programmcode mal genauer angeschaut und finde es sehr interessant. Sofort verwenden kann ich es aber leider nicht, müsste da noch einiges abändern, da ich bei der Definition der Linearität flexibel sein muss: So ist bspw. der Code
If Cells(i + 1, 4) &lt Cells(i, 4) Then linear = False
vollkommen richtig, geht aber nur in die eine Richtung (positive Korrelation / folgende Werte größer als vorherige). Negative Korrelationen werden nicht berücksichtigt (folgende Werte kleiner als vorherige). Dies könnte ich aber durch eine kleine mit UND und ODER verknüpfte If-Bedingung vorab abfangen bspw. durch die zusätzliche Abfrage, ob Cells(i, 4) kleiner oder größer null ist. Daraus bilde ich mir dann die positive oder negative Linearität. Bis hier hin ist das alles kein Problem und absolut logisch.
Aus meiner praktischen Erfahrung jedoch weiß ich, dass die Daten niemals oder eher selten absolut linear sind, d. h. es kann sein, dass die Werte aus den Verteilungen zu Beginn schön linear an- bzw. absteigen, aber meistens gibts dann noch einen kleinen Knick, irgendwelche Ausreisser, die die 100%ige Linearität kaputt machen, obwohl ein schöner Trend zu erkennen ist. Dies ist genau der Grund bzw. das Problem, warum ich noch manuell entscheiden muss, welche Variablen gut und welche schlecht sind.
Habe mir gedacht, dass man das evtl. mit einer Trendlinie umgehen kann, wie in den Diagrammoptionen einstellbar. Was meinst Du?
Ich werde das Programm wahrscheinlich aber so abändern, dass ich in der Excel-Mappe den Variablennamen in der Spalte A anklicken kann und der Code mir dann die komplette Verteilung und das zugehörige Diagramm löscht. Ist halt halb-manuell, aber hilft mir in so Fern weiter, dass ich die "Netto"-Syntax ganz einfach nach SPSS kopieren und verwenden kann.
Vielen Dank für all Deine Hilfe und Tipps.
Viele Grüße
Sinan
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Automatisch mehrere Diagramme in Excel erstellen


Schritt-für-Schritt-Anleitung

Um mehrere Diagramme in Excel gleichzeitig zu erstellen, kannst Du die folgenden Schritte ausführen:

  1. Daten vorbereiten: Stelle sicher, dass Deine Daten in einem strukturierten Format vorliegen. Jede Variablenverteilung sollte in einer eigenen Spalte organisiert sein.

  2. Visual Basic for Applications (VBA) öffnen:

    • Drücke Alt + F11, um den VBA-Editor zu öffnen.
  3. Neues Modul erstellen:

    • Klicke im Menü auf Einfügen -> Modul, um ein neues Modul hinzuzufügen.
  4. Code einfügen: Füge den folgenden VBA-Code in das Modul ein:

    Sub DiagrammeErstellen()
       Dim ws As Worksheet
       Dim chartObj As ChartObject
       Set ws = ThisWorkbook.Sheets("DeinBlattname")
    
       Dim i As Integer
       For i = 1 To 1000 ' Anzahl der Variablen
           Set chartObj = ws.ChartObjects.Add(Left:=ws.Cells(i, 5).Left, _
                                               Top:=ws.Cells(i, 5).Top, _
                                               Width:=300, Height:=200)
           With chartObj.Chart
               .SetSourceData Source:=ws.Range(ws.Cells(i, 4), ws.Cells(i, 4))
               .ChartType = xlColumnClustered
           End With
       Next i
    End Sub
  5. Makro ausführen:

    • Schließe den VBA-Editor und kehre zu Excel zurück.
    • Drücke Alt + F8, wähle DiagrammeErstellen und klicke auf Ausführen.
  6. Diagramme anpassen: Nach dem Ausführen des Makros werden die Diagramme automatisch auf Deinem Arbeitsblatt erstellt. Du kannst die Größe und Position der Diagramme nach Bedarf anpassen.


Häufige Fehler und Lösungen

  • Fehler beim Ausführen des Makros: Stelle sicher, dass das Arbeitsblatt, auf dem Du das Makro ausführst, korrekt benannt ist.
  • Diagramme erscheinen nicht: Überprüfe, ob die Daten in der richtigen Spalte enthalten sind und dass keine leeren Zellen in den Daten vorhanden sind.
  • Diagrammtypen anpassen: Wenn Du andere Diagrammtypen benötigst, ändere den Wert von .ChartType im VBA-Code.

Alternative Methoden

Falls Du keine VBA-Programmierung nutzen möchtest, gibt es auch andere Methoden, um Diagramme in Excel zu erstellen:

  • Diagramm-Tools: Nutze die Diagrammtools in Excel, um manuell Diagramme für jede Variable zu erstellen. Dies kann jedoch zeitaufwendig sein.
  • Excel-Funktionen: Verwende Formeln, um Daten zu konsolidieren und anschließend mit den integrierten Diagrammfunktionen zu arbeiten.

Praktische Beispiele

Hier sind einige Beispiele, wie Du Diagramme in Excel erstellen kannst:

  • Beispiel 1: Erstelle ein Säulendiagramm für die Verteilung von Variablenwerten in Spalte D.

    Sub BeispielDiagramm()
       Dim ws As Worksheet
       Set ws = ThisWorkbook.Sheets("DeinBlattname")
       Dim chartObj As ChartObject
       Set chartObj = ws.ChartObjects.Add(100, 100, 300, 200)
       With chartObj.Chart
           .SetSourceData Source:=ws.Range("D1:D100") ' Beispielreichweite
           .ChartType = xlColumnClustered
       End With
    End Sub
  • Beispiel 2: Nutze ein Diagramm, um spss mehrere variablen in einem diagramm darzustellen. Dies kannst Du manuell tun oder über VBA.


Tipps für Profis

  • Nutze Datenvalidierung, um sicherzustellen, dass die eingegebenen Werte konsistent sind.
  • Experimentiere mit verschiedenen Diagrammtypen, um die beste visuelle Darstellung Deiner Daten zu finden.
  • Speichere Deine Diagramme als Vorlagen, um sie in zukünftigen Projekten wiederverwenden zu können.

FAQ: Häufige Fragen

1. Wie kann ich Diagramme aus mehreren Tabellen in einem Diagramm kombinieren? Du kannst die Daten aus verschiedenen Tabellen in eine neue Tabelle konsolidieren und dann ein Diagramm erstellen, das diese Datenquelle nutzt.

2. Gibt es eine Möglichkeit, die Diagramme automatisch zu aktualisieren? Ja, Du kannst die Diagramme dynamisch mit Hilfe von Datenbereichen und Tabellen verknüpfen, sodass sie sich automatisch aktualisieren, wenn sich die zugrunde liegenden Daten ändern.

3. Was tun, wenn ich nicht genügend Diagramme erstellen kann? Überprüfe die Anzahl der Variablen und stelle sicher, dass Du die Schleife im VBA-Code entsprechend anpasst, um alle gewünschten Diagramme zu erstellen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige