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

met een macro een grafiek op zijn plek zetten kan dat?

Status
Niet open voor verdere reacties.
Ja, dat kan.

Voeg maar een voorbeeldje toe en geef aan op welke plek je de grafiek wil hebben.

P.S. Het is verstandig om gevoelige info weg te laten.
 
Code:
Sub CoverRangeWithAChart()
Dim RngToCover As Range, ChtOb As ChartObject
With Sheets("Blad1")
    Set RngToCover = .Range("E8:R33")
    .ChartObjects("Chart 1").Select
    Set ChtOb = ActiveChart.Parent
    ChtOb.Height = RngToCover.Height 'Resize
    ChtOb.Width = RngToCover.Width 'Resize
    ChtOb.Top = RngToCover.Top ' reposition
    ChtOb.Left = RngToCover.Left ' reposition
End With
End Sub
 
Bedankt Warme bakkertje:thumb:

je hebt me goed op weg geholpen

ik heb een kleine verandering aangebracht omdat met meerdere grafieken
de select niet activeert dus: na een select van de niet active chart blijft de cative chart actief en niet de geselecteerde chart.
Code:
.ChartObjects(1).Select
wordt
Code:
.ChartObjects(1).Activate
dit wordt de code voor 2 grafieken
Code:
Sub CoverRangeWithAChart()
Dim RngToCover As Range, ChtOb As ChartObject
With Sheets("Blad1")
    Set RngToCover = .Range("A9:k32")
    .ChartObjects(2).Activate
    Set ChtOb = ActiveChart.Parent
    naam = ChtOb.Name
    ChtOb.Height = RngToCover.Height 'Resize
    ChtOb.Width = RngToCover.Width 'Resize
    ChtOb.Top = RngToCover.Top ' reposition
    ChtOb.Left = RngToCover.Left ' reposition
    
    Set RngToCover = .Range("L9:V32")
    .ChartObjects(1).Activate
    Set ChtOb = ActiveChart.Parent
    naam = ChtOb.Name
    ChtOb.Height = RngToCover.Height 'Resize
    ChtOb.Width = RngToCover.Width 'Resize
    ChtOb.Top = RngToCover.Top ' reposition
    ChtOb.Left = RngToCover.Left ' reposition
    
End With
End Sub
Bekijk bijlage voorbeeld grafiek1 oplossing.xls
heel veel dank
groet sylvester
 
Sylvester,

Probeer een actie die in essentie hetzelfde is, zoals het verplaatsen van meerdere Grafieken naar één bereik per grafiek te isoleren in een aparte subprocedure. zo word je code veel makkelijker te onderhouden, en bovendien stukken duidelijker

Bijvoorbeeld: (ik weet niet of dit werkt in xl 2003)
Code:
Sub HerstelGrafieken()
    With Sheets("blad1")
        PlaatsGrafiek .ChartObjects(2), .Range("A9:K32")
        PlaatsGrafiek .ChartObjects(1), .Range("L9:V32")
    End With
End Sub
Private Sub PlaatsGrafiek(ByVal Grafiek As ChartObject, _
                          ByVal Positie As Range)
    Grafiek.Top = Positie.Top
    Grafiek.Left = Positie.Left
    Grafiek.Width = Positie.Width
    Grafiek.Height = Positie.Height
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan