Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Histogramm per VBA einfügen

Forumthread: Histogramm per VBA einfügen

Histogramm per VBA einfügen
12.01.2021 14:29:09
Jens
Hallo,
ich würde gerne per VBA ein Histogramm, also eine Häufigkeitsverteilung von Werten in Spalte A, automatisch einfügen.
Mit dem Makrorecorder komme ich leider nicht wirklich weiter:
Wenn ich das Diagramm einfüge (über Einfügen → Diagramm → Histogramm) wird das Diagramm zwar erstellt, wie ich es gern haben möchte, allerdings wird das nicht im Code aufgezeichnet.
Ich möchte nämlich per Code noch die Container ändern und entsprechende Überlauf und Unterlaufcontainer definieren.
Ein .addchart2 fehlt komplett ...
Gibt es hier eine Lösung das per VBA festzulegen?
Vielen Dank euch.
LG Jens
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Histogramm per VBA einfügen
12.01.2021 16:21:29
Yal
Hallo Jens,
ich verstehe es nicht: bei mir wird alles aufgezeichnet.
Was wird bei Dir nicht bzw. nicht richtig aufgezeichnet?
VG
Yal
AW: Histogramm per VBA einfügen
12.01.2021 18:48:28
Jens
Hallo Yal,
bei mir fehlt eine Zeile wie:
ActiveSheet.Shapes.AddChart2 ( .... )
habe im Internet leider nicht gefunden, wie die Syntax bei einem Histogramm genau aussehen muss.
kannst du evtl. mal deine Beispielmappe hochladen?
Danke.
Jens
Anzeige
AW: Histogramm per VBA einfügen
12.01.2021 20:24:39
Yal
ach so.
Ja, in der Tat. Bei mir fehlt genau diese Zeile auch.
Es fängt direkt mit
ActiveSheet.Shapes.Range(Array("Chart 1")).Select
Anscheinend muss man den Addin "Analyse Toolpack VBA" einbinden und anschliessend den Verweis auf "atpvbaen.xls". Dann sind die entsprechende Funktionen wie "Histogram" (hier im Objekt-Katalog) erreichbar.
Userbild
Ein Beispiel
'Sub Histogram(inprng, [outrng], [binrng], [pareto], [chartc], [chart], [labels])
Application.Run "Histogram", ActiveSheet.Range("$A$1:$A$10"), _
ActiveSheet.Range("$F$11"), _
ActiveSheet.Range("$B$1:$B$4"), _
False, False, False, False

Siehe auch https://social.msdn.microsoft.com/Forums/office/en-US/7ed39841-3502-4f69-9ded-ac41b102b99e/histogram-from-excel-vba
Viel Erfolg
Yal
Anzeige
AW: Histogramm per VBA einfügen
12.01.2021 21:19:50
Jens
Hallo Yal,
vielen Dank für die ausführliche Antwort. Dann wird es wohl am fehlenden Verweis liegen.
Werde das morgen testen.
Danke!
Jens
AW: Histogramm per VBA einfügen
12.01.2021 18:48:38
Jens
Hallo Yal,
bei mir fehlt eine Zeile wie:
ActiveSheet.Shapes.AddChart2 ( .... )
habe im Internet leider nicht gefunden, wie die Syntax bei einem Histogramm genau aussehen muss.
kannst du evtl. mal deine Beispielmappe hochladen?
Danke.
Jens
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Histogramm in Excel per VBA erstellen


Schritt-für-Schritt-Anleitung

Um ein Histogramm in Excel per VBA zu erstellen, befolge diese Schritte:

  1. Verweis auf das Analyse Toolpaket aktivieren:

    • Gehe zu Datei > Optionen > Add-Ins.
    • Wähle im Dropdown-Menü „Excel-Add-Ins“ und klicke auf „Gehe zu...“.
    • Aktiviere das Kontrollkästchen für „Analyse Toolpaket“ und klicke auf „OK“.
  2. Verweis auf die Datei atpvbaen.xls hinzufügen:

    • Öffne den Visual Basic for Applications (VBA) Editor mit ALT + F11.
    • Gehe zu Extras > Verweise.
    • Suche nach „atpvbaen.xls“ und aktiviere den entsprechenden Eintrag.
  3. VBA-Code einfügen:

    • Füge den folgenden Code in ein neues Modul ein:
    Sub HistogrammErstellen()
       Dim inprng As Range
       Dim outrng As Range
       Dim binrng As Range
    
       Set inprng = ActiveSheet.Range("$A$1:$A$10") ' Werte in Spalte A
       Set outrng = ActiveSheet.Range("$F$11") ' Ausgabe des Histogramms
       Set binrng = ActiveSheet.Range("$B$1:$B$4") ' Bin-Grenzen
    
       Application.Run "Histogram", inprng, outrng, binrng, False, False, False, False
    End Sub
  4. Makro ausführen:

    • Schließe den VBA-Editor und gehe zurück zu Excel.
    • Drücke ALT + F8, wähle HistogrammErstellen und klicke auf „Ausführen“.

Häufige Fehler und Lösungen

  • Fehlende Zeilen im Code: Wenn Zeilen wie ActiveSheet.Shapes.AddChart2 im Code fehlen, stelle sicher, dass der Verweis auf das Analyse Toolpaket korrekt gesetzt ist.

  • Diagramm wird nicht erstellt: Überprüfe, ob die Eingabebereiche und die Bin-Grenzen korrekt definiert sind.


Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du auch das Histogramm direkt über die Excel-Oberfläche erstellen:

  1. Markiere die Daten in Spalte A.
  2. Gehe zu Einfügen > Diagramme > Säule oder Balken und wähle „Histogramm“.
  3. Passe das Diagramm nach Deinen Wünschen an.

Praktische Beispiele

Ein einfaches Beispiel für ein Histogramm in Excel könnte sein, die Häufigkeitsverteilung von Testergebnissen in einer Klasse darzustellen. Angenommen, die Noten sind in den Zellen A1 bis A10 gespeichert, dann kannst Du den oben genannten VBA-Code verwenden, um das Histogramm zu erstellen.

Das Histogramm zeigt dann, wie viele Schüler in welchen Notenbereichen liegen, und visualisiert die häufigsten Ergebnisse.


Tipps für Profis

  • Anpassung der Bin-Grenzen: Experimentiere mit verschiedenen Bin-Grenzen, um die besten Ergebnisse für Deine Daten zu erzielen.
  • Diagrammformatierung: Nutze die Formatierungsoptionen in Excel, um das Histogramm ansprechender zu gestalten. Füge Titel und Achsenbeschriftungen hinzu.
  • Verwendung von Daten aus anderen Arbeitsblättern: Du kannst Daten aus verschiedenen Blättern in Deinem VBA-Code referenzieren, um Histogramme aus mehreren Datenquellen zu erstellen.

FAQ: Häufige Fragen

1. Was ist ein Histogramm in Excel?
Ein Histogramm ist ein Diagramm, das die Häufigkeitsverteilung von Werten zeigt, indem es die Anzahl der Werte in bestimmten Intervallbereichen darstellt.

2. Wie kann ich ein Histogramm ohne VBA erstellen?
Du kannst ein Histogramm direkt über die Excel-Oberfläche erstellen, indem Du die Daten auswählst und das Diagramm über das Menü „Einfügen“ hinzufügst.

3. Welche Excel-Version benötige ich für die Verwendung von VBA zur Erstellung eines Histogramms?
Die Verwendung von VBA zur Erstellung eines Histogramms ist in den meisten modernen Excel-Versionen möglich, einschließlich Excel 2010 und später.

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