

Voor verschillende gebruikers van het model is het wenselijk de max. grens voor de beide Y-assen in cellen van het werkblad vast te leggen.
Zijn daar mogelijkheden toe ?
Laatst aangepast door anton44 : 4 december 2019 om 15:34
Met dank en vriendelijke groet,
Ton
Alleen met VBA helaas.
Bedankt voor je reactie. Met VBA ben ik als leek al aan het stoeien. Met de macrorecorder al een stuk verder gekomen, maar mis nog wat details in de code.
Misschien kun je daarmee verder helpen.
De bedoeling is dat de waarden in cel BU4 resp BU5 in regel 70 en 90 verwerkt worden
Vergeef me als daar domme fouten in staan :-(
Code:Sub Macro3H() 10 15 Application.ScreenUpdating = False 20 25 With Sheets("Energie") 30 Tempname1 = Range("BU4") 'Op werkblad "Energie" cel BU4 staat de max waarde voor kWh (bv 600) 35 Tempname2 = Range("BU5") 'Op werkblad "Energie" cel BU5 staat de max waarde voor % (bv .21) 40 End With 45 50 Sheets("Real_progn").Select 'tabblad van de grafiek 55 ActiveChart.ChartArea.Select 60 ActiveChart.Axes(xlValue).Select 65 With Sheets("Energie") 70 ActiveChart.Axes(xlValue).MaximumScale = Range("Tempname1") 75 'ActiveChart.Axes(xlValue).MaximumScale = 600 80 ActiveChart.Axes(xlValue, xlSecondary).Select 85 'ActiveChart.Axes(xlValue, xlSecondary).MaximumScale = 0.21 90 ActiveChart.Axes(xlValue, xlSecondary).MaximumScale = Range("Tempname2") 95 Sheets("Energie").Select 100 110 Application.ScreenUpdating = True 115 End Sub
Met dank en vriendelijke groet,
Ton
Zo wellicht?
OfCode:70 ActiveChart.Axes(xlValue).MaximumScale = Range("BU4")
als BU4 de naam Tempname1 heeftCode:70 ActiveChart.Axes(xlValue).MaximumScale = Range(Tempname1)
Laatst aangepast door Haije : 4 december 2019 om 18:24
Haije
___________________________________________________
In een plaatje is het moeilijk om code te plaatsen.![]()
Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.
Vermoedelijk.
Code:= range("Tempname").value
____________
Met vriendelijke groet,
Harry
Lag nooit om de keuzes van dien vraauw, bist ter zulf aine van....
(Grunnegs-Gronings)
Voorbeeld toegevoegd om zelf te kunnen testen.
Waarin 3 macro's.
1. De gewenste macro3 met ophalen van waardes (maar werkt nog niet, ondanks toevoeging .Value)
2. GraphH en GraphT die wel werken maar met variabele waarden in de code
Met dank en vriendelijke groet,
Ton
Een waarde uit een cel in een variabele zetten in VBA:
is NIET hetzelfde als een waarde uit een bereiknaam halen:Code:25 With Sheets("Energie") 30 Tempname1 = .Range("BU4") 'Op werkblad "Energie" cel BU4 staat de max waarde voor kWh (bv 600) 35 Tempname2 = .Range("BU5") 'Op werkblad "Energie" cel BU5 staat de max waarde voor % (bv .21) 40 End With
Om statement op rij 70 te laten werken moet je:Code:70 ActiveChart.Axes(xlValue).MaximumScale = Range("Tempname1").Value
OF het statement aanpassen naar:
OF de cel BU4 de naam "TempName1" geven in Excel (die cel selecteren, op de tab Formules de knop Naam definieren indrukken en een nieuwe naam maken die naar die cel verwijst). Dit laatste heeft overigens de voorkeur.Code:70 ActiveChart.Axes(xlValue).MaximumScale = Tempname1
Als je de waarde uit Tempname1 vervolgens vaker nodig hebt dan 1 keer in je code, verander dan regels 25-40 in:
Code:25 With Sheets("Energie") 30 Tempname1 = .Range("Tempname1") 'Op werkblad "Energie" cel BU4 staat de max waarde voor kWh (bv 600) 35 Tempname2 = .Range("Tempname2") 'Op werkblad "Energie" cel BU5 staat de max waarde voor % (bv .21) 40 End With
Dank!