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

Alle cirkelgrafieken dezelfde diameter. Hoe?

Status
Niet open voor verdere reacties.

Marl1

Gebruiker
Lid geworden
13 jan 2003
Berichten
168
Ik heb in een Excel-sheet 20 cirkeldiagrammen.
Ik wil die graag allemaal even groot hebben. Dus dezelfde diameter.
Wie weet hoe dat moet?
 
Run dit macrootje
Pas de gegevens aan naar eigen wens.
Code:
Sub cirkelgrootte()
Dim ch As ChartObject
For Each ch In Worksheets(1).ChartObjects
ch.Height = 140
ch.Width = 140
Next ch
End Sub
 
Thanx!

Da's mooi zeg! en snel. Toppie


Nou zou het helemaal mooi zijn als er nog een dialoogvenstertje in komt waar de gebruiker kan aangeven welke hoogte en breedte die wil hebben.

Nogmaals dank je wel!!!!!!
 
Da's mooi zeg! en snel. Toppie
Nou zou het helemaal mooi zijn als er nog een dialoogvenstertje in komt waar de gebruiker kan aangeven welke hoogte en breedte die wil hebben.
Nogmaals dank je wel!!!!!!
Het antwoord had je ook zelf kunnen vinden als je in de helpfile of in dit forum had gezocht.
Code:
Sub cirkelgrootte()
Dim ch As ChartObject
gr = InputBox("Welke grootte?", "Diameter instellen", 100)
For Each ch In Worksheets(1).ChartObjects
ch.Height = gr
ch.Width = gr
Next ch
End Sub
 
Rekening houdend met de gemiddelde gebruiker, heb ik een kleine aanpassing gedaan:

Sub cirkelgrootte()
Dim ch As ChartObject
gr = InputBox("Welke grootte?", "Diameter instellen", 100)
If isnumeric(gr)= True then
For Each ch In Worksheets(1).ChartObjects
ch.Height = gr
ch.Width = gr
Next ch
End If
End Sub

Met vriendelijke groet,


Roncancio
 
Rekening houdend met de gemiddelde gebruiker, heb ik een kleine aanpassing gedaan
Tja, zo kun je natuurlijk bezig blijven. Je zou dan ook weer met een melding moeten komen dat de invoer onjuist was, enz, enz.
Als er als voorbeeld al een getal in de inputbox staat en men gaat dan nog wat anders invoeren...
Trouwens, je moet ook nog wat aan de verbeelding (of zo je wil zelfwaarkzaamheid) van de vragensteller overlaten.
 
Tja, zo kun je natuurlijk bezig blijven. Je zou dan ook weer met een melding moeten komen dat de invoer onjuist was, enz, enz.
Als er als voorbeeld al een getal in de inputbox staat en men gaat dan nog wat anders invoeren...
Trouwens, je moet ook nog wat aan de verbeelding (of zo je wil zelfwaarkzaamheid) van de vragensteller overlaten.
Valt wel mee. Stel dat iemand 100mm iod invoert, dan verschijnt er een foutmelding als je dat niet afvangt.
Niet iedereen heeft de behoefte/wil om hun verbeelding aan te spreken. Voor diegene probeer ik het enigzins makkelijk te maken. Maar dat moet ieder voor zich bepalen.

Met vriendelijke groet,


Roncancio
 
dank jullie wel!

dank jullie wel.
Ik ben er erg mee geholpen.
Wellicht tot een volgende keer. Enne: als zapatr nog tips voor me heeft hoe ik slim kan zoeken in het forum, dan houd ik me aanbevolen.

Een prettige, zonnige dag gewenst verder.
 
Stel dat iemand 100mm iod invoert, dan verschijnt er een foutmelding als je dat niet afvangt.
Dat is mij uiteraard wel bekend.
Maar bij een goede controle van vba-code komt nog wel wat meer kijken hoor.
Zo ben ik er bv. van uitgegaan dat er alleen maar cirkeldiagrammen in het werkblad staan, terwijl dat helemaal niet zo hoeft te zijn, er kunnen ook andere grafieken staan. Er kunnen ook op een gegeven moment geen grafieken in het werkblad meer voorkomen, daar zou je ook rekening mee moeten houden. En zo zijn er nog wel een aantal dingen op te noemen.

Marl1 zei:
als zapatr nog tips voor me heeft hoe ik slim kan zoeken in het forum...
Ik denk dat jij dat net zo goed of beter kunt dan ik.
Naarmate je langer met vba bezig bent, weet je beter waar je op moet zoeken.
In (beginners)cursussen vba die je ook wel op internet kunt vinden, zullen vaak gebruikte opdrachten wel aan de orde komen. Als je daar dan iets mee wil doen, kun je op die opdrachten zoeken.
Om via vba grafieken te manipuleren, dat behoort niet bij een beginnerscursus denk ik.
 
Laatst bewerkt:
Dat is mij uiteraard wel bekend.
Maar bij een goede controle van vba-code komt nog wel wat meer kijken hoor.
Zo ben ik er bv. van uitgegaan dat er alleen maar cirkeldiagrammen in het werkblad staan, terwijl dat helemaal niet zo hoeft te zijn, er kunnen ook andere grafieken staan. Er kunnen ook op een gegeven moment geen grafieken in het werkblad meer voorkomen, daar zou je ook rekening mee moeten houden. En zo zijn er nog wel een aantal dingen op te noemen.
Je redenatie gaat niet helemaal op omdat de ontwikkelaar een macro wilde maken die het voor gebruikers makkelijk maakt om grafieken aan te passen. Daardoor zal hij/zij het beste weten welke grafieken er aanwezig zijn.
Ik programmeer al sinds de jaren 80 dus ik durf wel te zeggen dat ik wel de nodige ervaring heb om te weten wat er komt kijken bij het controleren van code.

Met vriendelijke groet,


Roncancio
 
the day after....

Wat er nu bij de macro (lijkt) te gebeuren is dat de figuren verschaald worden. Dus de hele figuur en niet alleen de taart. De diameters zijn daarna nog niet gelijk, en bovendien zit er ook verschil in lettergrootte.
Heb zelf een beetje het idee dat het verschil in afmeting ook te maken heeft met de (afmeting van de) tekst die erbij staat en de plaatsing van deze tekst.
Heeft iemand nog suggesties?


.
 
Wat er nu bij de macro (lijkt) te gebeuren is dat de figuren verschaald worden. Dus de hele figuur en niet alleen de taart. De diameters zijn daarna nog niet gelijk, en bovendien zit er ook verschil in lettergrootte.
Heb zelf een beetje het idee dat het verschil in afmeting ook te maken heeft met de (afmeting van de) tekst die erbij staat en de plaatsing van deze tekst.
Heeft iemand nog suggesties?
Een voorbeeld zou veel verduidelijken.
Je had het eerst over een cirkeldiagram, nu over een taartdiagram (een taart is ook wel een cirkel, maar toch...).
Een cirkel of taart heeft maar 1 diameter, maar waarschijnlijk bedoel je de straal?
Als je als grafiektype een taart neemt met afzonderlijke, uiteengenomen stukken, waardoor het geen cirkel meer is, dan kan het lijken alsof de stralen van de afzonderlijke stukken niet meer even groot zijn.
Ik laat met opzet in de macro de totale grootte van de grafiek wijzigen, omdat de afzonderlijke delen dan evenredig worden vergroot/verkleind. Afzonderlijke delen van de grafiek manipuleren is evenwel mogelijk, maar lijkt mij over het algemeen niet aan te bevelen.
 
Er zijn een aantal nieuwe cirkelgrafieken gemaakt.

En stapje voor stapje een stuk wijzer geworden:
Bij het maken van de grafiek geeft je een titel op. Dat kan op verschillende plekken (in de wizard). Nu blijkt dat afhankelijk van waar je het veld Titel invult de tekst anders van grootte is. En de tekstgrootte blijkt invloed te hebben op de grootte van de cirkel
 
En de tekstgrootte blijkt invloed te hebben op de grootte van de cirkel
De tekstgrootte van de titel kun je bv. wijzigen als volgt:
Code:
Sub cirkelgrootte2()
Dim gr As Integer, ch As ChartObject
gr = InputBox("Welke grootte?", "Diameter instellen", 100)
If IsNumeric(gr) = True Then
For Each ch In Worksheets(1).ChartObjects
ch.Height = gr
ch.Width = gr
[b]ch.Chart.ChartTitle.Font.Size = 14[/b]
Next ch
End If
End Sub
Lettergrootte 14 kun je, als je dat wil, natuurlijk ook weer via een inputbox laten bepalen.
 
Ok!

Dank je wel.
Het probleem is m.i. nu voldoende opgelost.
Ik wil alle betrokkenen hartelijk danken voor hun input!
 
Zapatr is het ook mogelijk om deze makro te gebruiken voor een Pivot Chart?
Ik zou daar de opmaak in willen vastleggen.
Want nu moet ik dat elke maand opnieuw aanpassen.
 
is het ook mogelijk om deze makro te gebruiken voor een Pivot Chart?
Probeer het eens zou ik zeggen, dan blijkt het vanzelf.
Maar dat je daarbij problemen tegen kunt komen, blijkt bv. uit dit artikel van Microsoft:

http://support.microsoft.com/kb/199201

dat ik googlend tegen kwam.Ik liep daarbij ook aan tegen een gelijksoortige forumvraag hier, ook van jouw hand vermoed ik. Als je eenzelfde vraag al elders gesteld hebt, kun je dat best even vermelden, want dat niet doen wordt doorgaans niet op prijs gesteld.
 
Klopt dat ik dit ook op office forum heb gevraagd.
En tot heden nog geen oplossing gevonden.
 
En een link plaatsen is dan te lastig?

Ik weet het antwoord op de vraag niet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan