Excel vb Makro zur Diagrammerstellung

Scimitar

Grünschnabel
Hallo,

Ich habe einige Schwierigkeiten mit der Programmierung von Excel mit vb.

Ich muss definierte Datenreihen aus verschiedenen Excel sheets benutzen um Diagramme automatisch in einem weiteren sheet der selben Arbeitsmappe zu erstellen.

Noch mal genauer:

In der Arbeitsmappe I. existieren 3 sheets

Messwerte, Grenzwerte, Auswertung.

Die Werte aus den ersten beiden sheets müssen grafisch als Datenreihe dargestellt werden.

Ich habe schon in der Literatur nachgeschaut, aber zur automatischen Diagrammdarstellung nicht gefunden.

Im Vorraus mal vielen Dank für eure Hilfe
 
Auswendig weiß ich es jetzt auch nicht, aber Diagramme sind wie alles andere in VB und VBA einfache Objekte.

Code:
Charts.Add
    ActiveChart.ChartType = xlLineMarkers
    ActiveChart.SetSourceData Source:=Sheets("Tabelle1").Range("A1:H2"), PlotBy _
        :=xlRows
    ActiveChart.Location Where:=xlLocationAsNewSheet
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = "Hallo Diagramm"
        .Axes(xlCategory, xlPrimary).HasTitle = True
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Zeit"
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Wert"
    End With
    With ActiveChart.Axes(xlCategory)
        .HasMajorGridlines = True
        .HasMinorGridlines = False
    End With
    With ActiveChart.Axes(xlValue)
        .HasMajorGridlines = True
        .HasMinorGridlines = False
    End With
    ActiveChart.HasLegend = True
    ActiveChart.Legend.Select
    Selection.Position = xlBottom
    ActiveChart.HasDataTable = True
    ActiveChart.DataTable.ShowLegendKey = True

Für Dich relevant ist "ActiveChart.SetSourceData" für die Datenquelle, das hier ist jetzt eins das ich mal auf die Schnelle gezaubert hab.

Alternativ dazu lohnt es immer, mal ein Makro aufzuzeichnen und dann all das zu tun, was man vom Makro erledigen lassen will. So helfe ich mir immer weiter, wenn ich mal auf dem Schlauch stehe.

Aaah, oder ein ganz geheimer Insidertip : F1 (das war ein Scherz). :)
 
Auswendig weiß ich es jetzt auch nicht, aber Diagramme sind wie alles andere in VB und VBA einfache Objekte.

Code:
Charts.Add
    ActiveChart.ChartType = xlLineMarkers
    ActiveChart.SetSourceData Source:=Sheets("Tabelle1").Range("A1:H2"), PlotBy _
        :=xlRows
    ActiveChart.Location Where:=xlLocationAsNewSheet
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = "Hallo Diagramm"
        .Axes(xlCategory, xlPrimary).HasTitle = True
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Zeit"
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Wert"
    End With
    With ActiveChart.Axes(xlCategory)
        .HasMajorGridlines = True
        .HasMinorGridlines = False
    End With
    With ActiveChart.Axes(xlValue)
        .HasMajorGridlines = True
        .HasMinorGridlines = False
    End With
    ActiveChart.HasLegend = True
    ActiveChart.Legend.Select
    Selection.Position = xlBottom
    ActiveChart.HasDataTable = True
    ActiveChart.DataTable.ShowLegendKey = True

Für Dich relevant ist "ActiveChart.SetSourceData" für die Datenquelle, das hier ist jetzt eins das ich mal auf die Schnelle gezaubert hab.

Alternativ dazu lohnt es immer, mal ein Makro aufzuzeichnen und dann all das zu tun, was man vom Makro erledigen lassen will. So helfe ich mir immer weiter, wenn ich mal auf dem Schlauch stehe.

Aaah, oder ein ganz geheimer Insidertip : F1 (das war ein Scherz). :)
 
man sehe ich heute morgen doppelt oder was ist los ?!
Zum Thema: ich glaube nicht mal, dass hier ein Makro etc. notwendig ist. Einfach den Diagrammassistenten nutzen, die Aktualisierung läuft dann immer automatisch.

gruß
thekorn
 
Zurück