Diagramm im Excel automatisiert via VBA erstellen lassen

  • Excel

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von ereza.

    Diagramm im Excel automatisiert via VBA erstellen lassen

    Liebe Community!

    Ich habe eine Datentabelle und möchte einfach Balkendiagramme erstellen.

    Ich habe auch schon a bissl was über chartcontrol etc. gelesen...

    aber ich frage mich, ob es da nicht eine ganz simple Methode gibt...?

    Es sollen eigentlich nur 3 Kriterien erfüllt werden bzw. möglich sein:
    1.) Im Grunde soll Excel nur automatisch erkennen, bis wohin die Datenzeile befüllt ist
    2.) dann sage ich (wie beim Diagramm eben auch...) --> X-Achse nehme diese Werte ; Y-Achse... nehme jene Werte und fertig.
    3.) Es soll möglich sein, dass ich kosmetisch was einstellen kann (wie normal eben auch...) - somit: stelle mir die Datenreihe als Diagrammtyp Liniendiagramm dar, Farben, Datentabelle JA/NEIN, etc....

    Was würdet ihr mir empfehlen? - Welche Methode bzw. welche Herangehensweise sollte ich dabei verwenden?

    Könnt ihr mir ein schnelles Beispiel im VBA-Code geben, wodurch ich sehe, wie man einen Bereich einer Datenreihe zuweist etc.. Also im Grund Basic, wie man ein Diagramm per Vba erstellen lässt?

    Freu mich auf eure Antworten!

    Vielen Dank!

    LG Tim
    Hast du schonmal was vom Makro Rekorder gehört?
    Starte ihn, mach was du machen möchtest und schau dir das aufgezeichnete Makro an.
    Dieses muss man dann nur noch optimieren.
    Das kannst ja dann nochmal posten.
    Das ist meine Signatur und sie wird wunderbar sein!
    Naja, kommt darauf an, WIE du deine Daten erhälst. Wenn du die Daten einfach aus einer andern XLS-Datei in deine XLS-Datei mit Macros kopierst, und immer an die selbe stelle einfügst, könntest du dir eine Prozedur bauen, die du über einen Button oder Shortcut aufrufst, die mit einer ForEach Schleife den Bereich A:1 bis B:solange-daten-da-sind durchlaufen und dann über die ExcelObjectLibary ein Diagramm Objekt erstellen und da iwie rumwursteln(ChartObject ist hier das strichwort)

    Hier mal ein Google Link
    und die entsprechenden Treffer:
    Diagramme programmieren mit VBA Teil 1
    Excel/VBA: ChartObject erstellen

    Mfg Radinator
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Vielen Dank für die Tipps!

    Jz. hätte ich bzgl. Identifikation eine Frage...

    Wenn ein Chart erstellt, wird es ja mit "ActiveChart." angesprochen bzw. bezeichnet...

    Das passt mir ehrlich gesagt gar nicht so recht... weil, das ist ja so wie ActiveSheet....

    Gibt's da nicht die Möglichkeit von eindeutigen Bezeichnungen?
    So wie bei:
    Wenn ein Tabellenblatt erzeugt wird, hat es einen eindeutigen Namen... wie: Tabelle15 --> somit kann man dann sagen: Tabelle15.Range... etc...

    Gibt's das bei Chart auch? also statt ActiveChart..??
    Und wenn ja, wo steht das bzw. wie weise ich das zu?

    Danke!

    LG Tim
    Standardmässig heißt es Chart1.

    Du kannst es unter Chart anklicken -> Layout ganz rechts ändern und auch über den Namen oder den Index ansprechen (genau wie Sheets)
    Das ist meine Signatur und sie wird wunderbar sein!
    ahh ok! Super danke für den hinweis!

    und... weiß einer von euch, wie ich die Schriftgröße von einer Datentabelle ändern kann. --> also wenn man .ApplyLayout (5) verwendet... Das ist das Layout, wo die Datentabelle unter Grafik angezeigt wird.

    Weiß jemand von euch, wie man die Schriftgröße bzw. die Formatierung dieser Datentabelle gezielt anpassen bzw. verändern kann?

    LG Tim

    ereza schrieb:

    Weiß jemand von euch, wie man die Schriftgröße bzw. die Formatierung dieser Datentabelle gezielt anpassen bzw. verändern kann?


    Naja das lässt sich alles über Selection machen:

    Visual Basic-Quellcode

    1. Sub chgchart()
    2. ActiveSheet.ChartObjects("Diagramm 1").Activate
    3. ActiveChart.Axes(xlValue).MajorGridlines.Select
    4. ActiveChart.Axes(xlCategory).Select
    5. Selection.Format.TextFrame2.TextRange.Font.Name = "+mj-lt"
    6. End Sub

    Mit der Prozedur, die ich nebenbei gesagt mit dem Macro Recorder aufgenommen habe, änderst du einfach die Schriftart der Beschriftung der X-Achse des Diagramms "Diagramm 1"

    Musste mal auspobieren
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Hi,

    Verstehe... aber... damit kann ich leider nicht die Formatierung der Datentabelle ändern...

    Ich wüsste aber ehrlich gesagt auch nicht, wo ich das generell im Excel einstellen kann, habe bislang noch nie was gefunden...
    ...aber ich daschte, dass man eventuell, via VBA, Formatierungsmöglichkeiten besitzt...

    Aber eben... leider keine Ahnung... :(