2016-05-17 8 views
0

Wie in der Abbildung unten gezeigt, habe ich ein Diagramm (auf der linken Seite), das ich manuell erstellt habe. Und ich habe das Diagramm auf der rechten Seite, die ich mit dem folgenden VB Script erstellt:Probleme bei der Erstellung des gewünschten Diagramms durch VBA Script

Sub StackedBarChart() 
' 
' StackedBarChart Macro 
' 
'  
    Range(ActiveCell, Cells(ActiveCell.End(xlDown).Row, ActiveCell.End(xlToRight).Column)).Select 
    ActiveSheet.Shapes.AddChart.Select 
    ActiveChart.ChartType = xlColumnStacked 
    ActiveChart.PlotBy = xlColumns 
    ActiveChart.SetElement (msoElementDataLabelCenter) 
    ActiveChart.SeriesCollection("Total").Format.Fill.Visible = msoFalse 

End Sub 

enter image description here

Wo ich kurz mit meinem Makro bin fällt, ist folgende Bereiche:

  • Ich brauche um nur das Datenschild "Total" auf InsideBase
  • einzustellen Ich muss die Y-Achse neu skalieren. Aber das muss für jeden Datensatz funktionieren. Nehmen wir zum Beispiel den höchsten Gesamtwert und fügen Sie $ 2,5 dazu hinzu, um es zu einem anständig aussehenden Diagramm zu machen.
  • Stellen Sie automatisch sicher, dass alle Datenbeschriftungen in der Legende angezeigt werden. Im Moment erscheinen nur 4-12.

Vielen Dank für Ihre Hilfe!

Antwort

0

Mit dem

Range(ActiveCell, Cells(ActiveCell.End(xlDown).Row, ActiveCell.End(xlToRight).Column)).Select 

wählen Sie die ganze Zeile einschließlich der Summen. Also oben auf Ihrem gestapelten Chart haben Sie wieder die Gesamtwerte, also verdoppelt sich das High.

Mit (und hier bin ich nicht ganz sicher)

ActiveChart.SeriesCollection("Total").Format.Fill.Visible = msoFalse 

Sie nur die Anzeige der ‚Total‘ Stapel unterdrücken. Versuchen Sie einfach, diese Zeile zu kommentieren, und ich nehme an, dass Sie ein weiteres Element oben bekommen werden.

Das Beste, was Sie wahrscheinlich tun können, ist, das Diagramm manuell während der Aufnahme eines Makros zu wiederholen und die Anweisungen dort zu überprüfen.

Für die Legende müssen Sie möglicherweise die Größe des Anzeigebereichs vergrößern.

Die Summen können Sie möglicherweise einen unsichtbaren Stapel mit einem 100% Overly im Hintergrund ziehen. Dann sollten die Werte angezeigt werden, aber es wird kein Balken angezeigt.

Verwandte Themen