2017-08-24 15 views
0

Ich habe eine VBA-Anwendung, die ein neues Blatt erstellt und fügt eine variable Anzahl von Werten in die ersten beiden Spalten unter einer Kopfzeile (Spalte A und B wird immer einen entsprechenden Wert haben, ich weiß nur nicht, wie viele Zeilen es wird):Excel VBA - Einfügen Diagramm aus dynamischen Bereich

Example

ich möchte vba verwenden, um ein einfaches Balkendiagramm ein paar Spalten über in demselben Blatt einzubetten, die wie diese Art der aussieht :

Example 2

Gibt es einen einfachen Weg, dies zu erreichen? Ich habe einige Beispiele ausprobiert, aber die Formatierung scheint nicht korrekt zu sein, da der Bereich immer variabel ist.

Antwort

0

Dies ist die grundlegende Einrichtung, die ich verwende. Sie können eine Vielzahl von Formatierungen hinzufügen, um Datenbeschriftungen hinzuzufügen, Rasterlinien zu entfernen, den Titel zu ändern, usw. Sie können darüber nachdenken, Bereiche zu definieren, bevor Sie in VBA noch viel weiter gehen.

Sub AddGraphs() 

    'Set the dynamic ranges 
    LR = Cells(Rows.Count, 1).End(xlUp).Row 
    LC = Cells(1, Columns.Count).End(xlToLeft).Column 

    'Create the chart 
    Charts.Add 
    With ActiveChart 
     .ChartType = xlColumnClustered 
     .SetSourceData Source:=Range(Cells(1, 1), Cells(LR, LC)) 
     .Location xlLocationAsObject, "Sheet1" 
    End With 

    'Format chart and set location 
    With ActiveChart 
     .Parent.Top = Cells(1, LC + 3).Top 
     .Parent.Left = Cells(1, LC + 3).Left 
     .HasLegend = False 
    End With 

End Sub 
Verwandte Themen