Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Diagramm mit vba erstellen | Herbers Excel-Forum


Betrifft: Diagramm mit vba erstellen von: Dirk
Geschrieben am: 08.02.2012 09:04:14

Hallo,
ich habe folgendes Problem:

Ich habe eine Excel Tabelle: 12 Spalten, X Zeilen

es soll per Makro aus einer Excel Liste ein Diagramm erstellt werden, welches zwei Spalten auswertet in denen sich Zahlen befinden. Erste Spalte ist der Monat (im Diagramm auf x aufgetragen

Die Anzahl der Daten variiert jedoch - jeden Monat kommt eine weitere Zeile hinzu. Somit müsste ich quasi jedes mal bevor ich das Macro starte den Bereich anpassen.
Bsp.
Aktuell: R3C2:R40C2
Neuer Monat: R3C2:R41C2

Wenn ich hier den Bereich (R100) eingebe
- ist der Bereich zu groß -> werden auch die leeren Zeilen mit ausgewertet und das Diagramm unleserlich
- ist der Bereich zu klein -> werden nicht alle Datensätze ausgewertet

Ich bräuchte somit eine Möglichkeit, den Bereich so festzulegen, dass der letzte Werte in der Spalte als Ende ausgelesen wird.

Irgendwie muß man ja da was reinschreiben:
Range("C3", "C" & Sheets("Werte").Range("A65536").End(xlUp).Row)
Ist mir aber nicht gelungen. Weil ich die richtige Beschriftung bzw. auch die Legende ausgeben möchte.

Im Diagramm habe ich nämlich Steuerelement, mit denen ich die einzelnen Spalten aufrufen kann und somit kopiere ich mir das eine Makro für jede Spalte und kann das gewünschte Diagramm dann aufrufen.

Mein relativ einfaches Makro für eine Spalte lautet:

Sub Conti()
    Sheets("Dia-Reifen").Select
    ActiveChart.SeriesCollection(1).Select
    ActiveChart.SeriesCollection(1).Formula = _
    "=SERIES(Werte!R2C4,Werte!R3C2:R40C2,Werte!R3C4:R40C4,1)"
    Sheets("Dia-Reifen").Select
    ActiveChart.Deselect
End Sub

Hier zeigt mir das Diagramm Werte bis zu Zeile 40 an. Im nächsten Monat habe ich dann 41 Zeilen und ich muß den Wert wieder händisch bei allen Makros anpassen.

Vielleicht habt Ihr mir eine einfach Lösung!

Vielen Dank schon mal für eine Antwort
Schöne Grüße
Dirk

  

Betrifft: AW: Diagramm mit vba erstellen von: Beverly
Geschrieben am: 08.02.2012 11:08:29

Hi Dirk,

weshalb muss es VBA sein? Schau dir mal das Beispiel "Dynamisches Diagramm1" auf meiner HP, Seite "Diagramme" an - dort wird der variable Bereich der Datenreihen per Formel BEREICH.VERSCHIEBEN() dynamisch in Abhängigkeit von der Anzahl der Einträge und damit auch das Diagramm dynamisch dargestellt.

http://excel-inn.de/dateien/diagramme/diagramm_dynamisches_erlaeuterung.zip


GrußformelBeverly's Excel - Inn


  

Betrifft: AW: Diagramm mit vba erstellen von: Dirk
Geschrieben am: 08.02.2012 15:56:43

Hallo Karin,
vielen Dank schon einmal für Deine Antwort.
Soweit ist das ja ein guter Vorschlag - funktioniert ja auch gut für eine Spalte oder mehrere gleichzeitig.

Ich möchte aber durch eine Eingabemöglichkeit immer nur eine Spalte anzeigen lassen.

Bei meinem Beispiel habe ich das über eine Steuerelement gemacht, um damit das gewünschte Makro zu starten.
Hier ein einfaches Beispiel

	Pirelli	Conti	Dunlop
Jan	12	12	1
Feb	5	5	14
Mrz	4	8	5
Apr	5	9	8
Mai	6	14	9
Jun	3	2	2
Jul			
Aug			
Sep			
Okt			
Nov			
Dez			
Es soll immer nur ein Reifen im Diagramm ausgegeben werden und ich möchte im Diagramm zwischen den einzelnen Reifen hin und her schalten können. Das Diagramm ist bei mir auf einem extra Arbeitsblatt. Ich könnte es aber auch auf dem Arbeitsblatt anlegen, wo die Werte stehen.
Vielleicht kannst Du mir hier auch behilflich sein. Danke

Gruß Dirk


  

Betrifft: AW: Diagramm mit vba erstellen von: Beverly
Geschrieben am: 08.02.2012 16:22:23

Hi Dirk,

auch dafür gibt es eine VBA-freie Lösung - siehe Beispiel "Dynamisches Diagramm2"

http://excel-inn.de/dateien/diagramme/diagramm_dynamisches_spaltenweise_anzeige.zip


GrußformelBeverly's Excel - Inn


Beiträge aus den Excel-Beispielen zum Thema "Diagramm mit vba erstellen"