• 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.

Meerdere grafieken met macro aanpassen

Status
Niet open voor verdere reacties.

conceal

Gebruiker
Lid geworden
29 mrt 2007
Berichten
73
Hallo,

In een Excel sheet heb ik 78 grafieken staan. Doordat de meetwaarden kunnen veranderen, kan het voorkomen dat mijn grafieken continu wijzigen. Nu heb ik gezien dat je via 'grafiektype' een zelf gemaakte grafiek kunt opslaan en de opmaak hiervan door kunt kopiëren naar de andere grafieken.
Echter, de opmaak is niet het enige wat ik automatisch aan zou willen passen. De grafiektitel is immers een celverwijzing (per grafiek anders) en ik zou graag de schaal van de grafiek aanpassen aan het maximum van de meetwaarden (voor alle grafieken gelijk).

Via dit forum heb ik wel al een tip gezien door de volgende code te gebruiken:

Code:
Sub Macro1()
For Each ch In ActiveSheet.ChartObjects
.......)
.......)  hier de gewenste opmaak
.......)
Next ch
End Sub

Maar op de een of andere manier werkt deze code niet. Ik heb de automatische recorder gebruikt om de opmaak aan te passen en kom dan (met bovenstaande code) tot het volgende:

Code:
Windows("Template_3 vs2_.xls").Activate
Sheets("Grafisch").Select
For Each ch In ActiveSheet.ChartObjects
        ch.Activate

        ActiveChart.SeriesCollection(1).Select
            With Selection.Border
                .ColorIndex = 12
                .Weight = xlMedium
                .LineStyle = xlContinuous
            End With
            With Selection
                .MarkerBackgroundColorIndex = xlNone
                .MarkerForegroundColorIndex = xlNone
                .MarkerStyle = xlNone
                .Smooth = False
                .MarkerSize = 3
                .Shadow = False
            End With
            ActiveChart.PlotArea.Select
            ActiveChart.SeriesCollection(2).Select
            With Selection.Border
                .ColorIndex = 52
                .Weight = xlMedium
                .LineStyle = xlContinuous
            End With
            With Selection
                .MarkerBackgroundColorIndex = xlNone
                .MarkerForegroundColorIndex = xlNone
                .MarkerStyle = xlNone
                .Smooth = False
                .MarkerSize = 3
                .Shadow = False
            End With
            ActiveChart.SeriesCollection(3).Select
            With Selection.Border
                .ColorIndex = 43
                .Weight = xlMedium
                .LineStyle = xlContinuous
            End With
            With Selection
                .MarkerBackgroundColorIndex = xlNone
                .MarkerForegroundColorIndex = xlNone
                .MarkerStyle = xlNone
                .Smooth = False
                .MarkerSize = 3
                .Shadow = False
            End With
            ActiveChart.Legend.Select
            Selection.Left = 560
            ActiveChart.PlotArea.Select
            Selection.Left = 20
            Selection.Top = 31
            Selection.Width = 474
            Selection.Height = 173
            Selection.Width = 533
            Selection.Height = 209
            Selection.Width = 536
            Selection.Height = 203
            Selection.Width = 523
            Selection.Left = 33
Next ch

Hierbij krijg ik echter de volgende foutmelding: 'Fout 9 tijdens uitvoering: Het subscript valt buiten het bereik'.

En dan nu de vragen:
1. Wat is er fout aan de code?
2. Is het wel mogelijk om de grafiektitel dynamisch te houden in de bovenstaande code of dien ik dan de grafieken apart te benoemen?

Wat betreft maximum en minimum denk ik dat dit aan de bovenstaande code toegevoegd zou kunnen worden. Deze is voor alle grafieken gelijk.

Alvast bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan