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

Variabele Verticale As in een lijngrafiek

Status
Niet open voor verdere reacties.

PaulMak

Gebruiker
Lid geworden
29 jan 2015
Berichten
90
Goedemiddag,

Is het mogelijk om een flexibele X-as te maken? Bijvoorbeeld ondergrens altijd €1.000.000 onder het laagste bedrag en de bovengrens altijd € 1.000.000 boven het hoogste bedrag

Stel dat ik in een draaitabel alleen de omzet van januari wil zien, dan is een ondergrens van € 0 prima maar dan is een schaal tot 90 miljoen veel te hoog en ontstaat er veel lege ruimte boven de lijnen
Andersom geldt hetzelfde. Bij een omzet van januari t/m juni is een ondergrens van €0 veel te laag bij een omzet van € 50.000.000. Dan is de lege ruimte onder de lijnen veel te groot.

Voor de duidelijkheid, ik weet uiteraard hoe je dit handmatig aanpast maar wanneer je continue aan het Sliceren bent dan is het natuurlijk veel chiquer dan excel dit voor je regelt.

Kan iemand mij hiermee helpen?

Groet
Paul
 
Paul,

als je nou eens de macrorecorder start voordat je die handmatige aanpassing doet en weer stopt als je klaar bent, moet je toch een idee krijgen van hoe dat aan te pakken.

En anders: plaats een Excel (voorbeeld)bestand zonder "gevoelige" informatie
 
De bedragen even delen door 1 miljoen of een andere factor.
 
Is het mogelijk om een flexibele X-as te maken? Bijvoorbeeld ondergrens altijd €1.000.000 onder het laagste bedrag en de bovengrens altijd € 1.000.000 boven het hoogste bedrag............
Weet je zeker dat het om de X-as gaat...? Het is gebruikelijk om een resultaat van de x-as variabele juist dan de y-as daarvoor te nemen.
De variabele is bij jou de maand.... het resultaat is dan de omzet/de bedragen in euros.
Of zijn er sectoren waar dat geen biet uitmaakt en de zaak heel eenvoudig andersom geplot wordt?
 
Laatst bewerkt:
Haije, ik zal kijken of het me lukt om een voorbeeld te sturen (voorheen kreeg ik nl een 'veeg uit de pan' omdat ik de regels niet juist hanteer hier)

VenA, leuk je weer eens hier tegen te komen. Dat is weer eens een lange tijd geleden zeg. Ik begrijp niet goed wat het delen voor effect heeft op de ondergrens en bovengrens zodat de lijnen netjes in het midden komen.

Route99, oeiii je hebt gelijk het is de opstaande, de y-as natuurlijk
 
alles bij elkaar opgeteld :
- voorstel van Haije, met de macro-recorder de Y-as even aanpassen en als je gezien hebt hoe het werkt, vermoedelijk in een "Worksheet_PivotTableUpdate"-macro (of een gelijkaardige) die zaken verkort aanroepen.
- voorstel van VenA : vermoedelijk in die macro eerst de Y-assen vrij laten kiezen en daarna de min en de max-waarde bepalen door die nieuwe min en max-waarden naar beneden of naar boven af te ronden per 1.000.000. Dat was dus op zich eigenlijk de goede denkrichting, zonder voorbeeldbestand.
- opmerking van Route99, had je al behandeld.
 
Hier staat een voorbeeld uitgewerkt hoe je het y-as schalen obv de min/max waarden van de te plotten y-waarden, de y-as fit met een klik op een button, waar een macro'tje eenvoudig voor elkaar kunt krijgen.
http://www.ginfo.nl/grafiek-automatisch-schalen/
Dat zou in principe ook mogelijk moeten zijn als een extra vervolg actie in de data selectie, waardoor voor het oog 1 actie lijkt.
De "min/max waarde methode" ben ik zelf vroeger ook wel vaker tegen gekomen, lijkt me ook wel een logische benadering.
Heb het voorbeeld uit de site er bij gedaan (voor het geval het snel verdwijnt....)

De originele code uit de bron:
Code:
Option ExplicitSub AssenSchalen()
' we willen geen 'flikkerend' scherm
Application.ScreenUpdating = False


'eerste grafiek op het tabblad Result activeren; NIET selecteren
Sheets("Result").ChartObjects(1).Activate


With ActiveChart.Axes(xlCategory) ' de category-as is de x-as
    .MinimumScale = [x_min] '  de waarde uit de cel met de naam x_min
    .MaximumScale = [x_max]
End With


With ActiveChart.Axes(xlValue) ' de value-as is de y-as
    .MinimumScale = [y_min]
    .MaximumScale = [y_max]
End With


Application.ScreenUpdating = True
End Sub
 

Bijlagen

  • GrafOpm.zip
    76 KB · Weergaven: 18
Laatst bewerkt:
Dat zou in principe ook mogelijk moeten zijn als een extra vervolg actie in de data selectie, waardoor voor het oog 1 actie lijkt.
We zitten op dezelfde lijn, behalve dat zijsprongetje op je werkblad, ik laat de draaigrafiek zelf kiezen en dan ik hem aan, jij doet het eerst via het werkblad, het resultaat is hetzelfde, rest alleen de vraag, wat het "mooist" is en er zijn al veel ideologsiche oorlogen gevoerd met miniem resultaat.
 
Mij maakt het niet uit.
Ik kies zelf altijd wat snel en praktisch is en er verder goed uit ziet.
Soms zijn er vast andere oplossingen maar in de praktijk zie je amper of niets terug in het resultaat: Het werkt ook maar is dan veel lastiger.
Bij mij telt vooral het resultaat en dat de gebruiker ook snapt hoe het werkt, das wel erg handig...

PS: Ik doe trouwens zelf tav dit topic "niets" behalve posten... het is niet "mijn" code, ben een groot voorstander van code delen, dus ik heb hem met bronvermelding door gegeven...
 
ok, ik ben ook van oordeel dat de meeste helpers hier het warm water niet opnieuw uitvinden, maar het enkel opwarmen.
Dus moet je mijn post in die zin lezen.

In je macro wordt er nu wel nog niet afgerond op een veelvoud van 1.000.000.
 
Er mag nog wel iets voor de TS overblijven... ben zelf nu met iets anders bezig..... ook helpers hebben dat hier... ;)
 
Allemaal hartelijk bedankt voor de support!

Allemaal hartelijk bedankt voor de support!

Het nivo is voor mij te hoog om in een oogwenk te zien wat ik er direct mee kan dus sla ik alles op om later stap voor stap te kijken of ik het begrijp.

Wéér alle dank!!!

Groet
Paul Mak
 
G2 en G3 zijn de kleinste en grootste datum in kolom B
H2 en H3 gebruiken die datums, maar H2 neemt de 1e van de maand van de kleinste datum en H3 neemt de 1e van de maand na de grootste datum.

J2 en J3 nemen de kleinste en de grootste waarde van kolom D.
K2 en K3 gebruiken die waarden en ook via een formule worden die afgerond respektievelijk naar beneden en naar boven naar het dichtste honderdtal.
Misschien werken onderstaande formules gemakkelijker voor jou, het resultaat is hetzelfde
Code:
 K2     =AFRONDEN.BENEDEN.WISK(J2;100)
K3    =AFRONDEN.Boven.WISK(J3;100)
Oorspronkelijk wilde je afronden op veelvouden van 1.000.000, dus ik denk dat in je andere voorbeeld hier dat 2e argument, die 100 moet veranderen in 1000000.

Verder gebruikt de macro (knop "assen schalen") dan 4 gedefinieerde namen om die 4 getallen in te lezen.

Iets duidelijker ?
 
Laatst bewerkt:
Dankjewel ...

Dank voor je laatste toevoeging. Ik ben nu op kantoor en ik ga dit later rustig bekijken en uitproberen.

Nogmaals ... :thumb:
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan