• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Wisslen reeksen in grafiek via VBA

  • Onderwerp starter Onderwerp starter BasHD
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

BasHD

Gebruiker
Lid geworden
2 dec 2008
Berichten
99
Ik ben met grafieken bezig. Nu wil ik dat ik reeksen via de vba kan aanpassen.
Nu moet ik grafiek selecteren, gegevens selecteren en vervolgens via gegevensbron selecteren met het omhoog en omlaag pijltje de positie van de reeks aanpassen.
Type chart is een xlXYScatter

Code:
Sub Grafiek1()
'
' Macro1 Macro
'
Sheets("Acces3").Select
EindTotaal = WorksheetFunction.CountA(Columns("A:A")) - 1

Sheets("Acces2").Select
EindGroep = WorksheetFunction.CountA(Columns("A:A")) - 1

Sheets("Grafiek2").Select
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlXYScatter
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(1).Name = "=""Groep"""
    ActiveChart.SeriesCollection(1).XValues = "=Acces2!R2C16:R[" & EindGroep & "]C16"
    ActiveChart.SeriesCollection(1).Values = "=Acces2!R2C18:R[" & EindGroep & "]C18"
    Nummer = 1
    Call Labels2(Nummer)
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(2).Name = "=""Alles"""
    ActiveChart.SeriesCollection(2).XValues = "=Acces3!R2C16:R[" & EindTotaal & "]C16"
    ActiveChart.SeriesCollection(2).Values = "=Acces3!R2C18:R[" & EindTotaal & "]C18"
    
    
    'ActiveChart.Axes(xlValue).Select
    
    ActiveChart.Axes(xlValue).MinimumScale = 0.8
    'ActiveChart.Axes(xlCategory).Select
    ActiveChart.Axes(xlCategory).MinimumScale = 10
    ActiveChart.SetElement (msoElementChartTitleAboveChart)
    ActiveChart.ChartTitle.Text = "KgDsTotaal t.o.v. VoerEfficientie"
    Selection.Format.TextFrame2.TextRange.Font.Size = 12
    ActiveChart.SeriesCollection(1).Select
    With Selection
        .MarkerBackgroundColorIndex = 3
        .MarkerForegroundColorIndex = 3
    End With
    ActiveChart.SeriesCollection(2).Select
    With Selection
        .MarkerBackgroundColorIndex = 6
        .MarkerForegroundColorIndex = 6
    End With
    ActiveChart.SeriesCollection(2).Trendlines.Add
    ActiveChart.SeriesCollection(2).Trendlines(1).Select
    Selection.DisplayRSquared = True
    ActiveChart.Legend.Select
    ActiveChart.Legend.LegendEntries(3).Select
    Selection.Delete
    ActiveChart.SeriesCollection(2).Trendlines(1).DataLabel.Select
    Selection.Left = 292.868
    Selection.Top = 8.888
End Sub

Dit is de code. Alleen ik wil van reeks1 reeks2 maken en andersom.

Dit komt namelijk omdat reeks1 een paar namen heeft. Excel plaats in de functie labels2 namen bij de punten. De 2 serie is een enorme reeks met punten. De namen blijven zichtbaar maar de eerste beperkte reeks verdwijnt onder de 2e grote reeks. Ik wil die eerste reeks weer boven de 2e hebben.
Handmatig werkt het wel zoals hier boven geschreven. Iemand een idee?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan