Grafieken uitlijnen

Voorbeeldbestanden bij dit artikel:
  • Grafieken uitlijnen
  • Inleiding

    Grafieken manueel uitlijnen kan soms een heel karwei zijn, zelfs als je ze vergroot/verkleint/verplaatst met de Alt toets ingedrukt (dan wordt er automatisch gepakt naar de celranden.

    VBA-code

    Hier geef ik wat VBA-code mee om alle grafieken in een werkblad ineens dezelfde afmetingen te geven en ze ook uit te lijnen. Ongeacht hoeveel grafieken het zijn, de VBA-code gaat in een lus voorbij elke grafiek en neemt de juiste actie. De waarden kan je zelf gemakkelijk aanpassen in de code.

    Sub GrafiekenUitlijnen()
    ' Wim Gielis ' http://www.wimgielis.com
    ''''' ' Custom module to organize charts on a sheet ' 20/02/07 '''''
    Dim l As Long For l = 1 To ActiveSheet.ChartObjects.Count With ActiveSheet.ChartObjects(l) ' afmetingen van elke grafiek zelf: .Width = 270 ' breedte .Height = 250 ' hoogte ' ligging van de grafieken op het blad: .Left = 50 + 300 * (l - 1) ' horizontale positie .Top = 200 ' verticale positie End With Next
    End Sub

    Opmerkingen

    Nog drie korte opmerkingen over deze code:

    1. Het is perfect mogelijk om relatieve i.p.v. absolute waarden te gebruiken. Bvb:
      .Height = .Width * 1.5
      
      of
      .Left = 50 + .Width * 1.1 * (l - 1)
      
    2. De grafieken onder mekaar plaatsen kan ook:
      .Left = 500
      .Top = 50 + 300 * (l - 1)
      
    3. Wil je de meest linkse grafiek net naast het eerste scherm zetten (dus net erbuiten), doe dan bv.:
      .Left = Application.UsableWidth - _
      IIf(ActiveWindow.DisplayVerticalScrollBar, 10, 0) - _
      IIf(ActiveWindow.DisplayHeadings, 14, 0) + (l - 1) * .Width
      

    Het bestandje bovenaan de pagina bevat de VBA-code en een voorbeeld met 3 grafieken. Klik op de knop en zie wat er gebeurt.




    Over Wim

    Wim Gielis is Business Intelligence consultant en Excel expert

    Andere links