Grafiek toevoegen aan worksheet in loop.

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

BastS

Gebruiker
Lid geworden
12 mrt 2015
Berichten
52
Ik heb onderstaande code thuis op mijn laptop geschreven, deze code werkte toen prima. Op het werk heb ik deze code in
mijn macro gekopieerd en de code werkt nu totaal niet. De code blijft maar errors retourneren.

"Door de toepassing of door object gedefinieerde fout"

Kan iemand mij aan de hand van onderstaande code mij weer op het juiste pad krijgen?


Code:
lastrow = Sheets("lol").Cells(Rows.Count, "A").End(xlUp).Row

Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "lol1"
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "lol2"
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "lol3"
Sheets("lol").Activate

Do Until b > a

'hier bevinden zich bewerkingen op werkblad("lol")

    With ActiveWorkbook.Worksheets("lol3").Shapes.AddChart.chart
        .ChartType = xlXYScatter
        .SeriesCollection.NewSeries
        .SeriesCollection(1).Name = "zz" & b & "zz"
        .SeriesCollection(1).XValues = Sheets("lol").Range("b3", "b" & lastrow)
        .SeriesCollection(1).Values = Sheets("lol").Range(Cells(3, 9 + ((b - 1) * 7)), Cells(lastrow, 9 + ((b - 1) * 7)))
        'Location
        .ChartArea.Left = 0
        .ChartArea.Top = topPos
        .ChartArea.Height = 300
        .ChartArea.Width = 400
        'Titles
        .HasTitle = True
        .ChartTitle.Characters.Text = "XY"
        .Axes(xlCategory, xlPrimary).HasTitle = True
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "y --> [y]"
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "x --> [x]"
        .Axes(xlCategory).HasMajorGridlines = True
        'Formatting
        .Axes(xlCategory).HasMinorGridlines = False
        .Axes(xlValue).HasMajorGridlines = True
        .Axes(xlValue).HasMinorGridlines = False
        .HasLegend = False
    End With

b = b + 1: topPos = topPos + 300
Loop
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan