Verwijzen naar een grafiek in zelfgemaakte functie?

Status
Niet open voor verdere reacties.

daan108

Gebruiker
Lid geworden
8 feb 2008
Berichten
138
Beste mensen,
In Excel wil ik de minimumwaarde van een grafiekas laten weergeven in een cel. Hiervoor heb ik deze code geschreven:
Code:
Function readchartXmin(Chrt)
'Geeft de minimumwaarde van de x-as van de grafiek. Chrt is bijvoorbeeld "Grafiek 1"
'De grafiek en de functie moeten op hetzelfde werkblad staan.
Application.Volatile
readchartXmin = Application.Caller.Parent.ChartObjects(Chrt).Chart.Axes(xlCategory).MinimumScale
End Function
De functie wordt als volgt in een cel aangeroepen (grafiek en cel op zelfde werkblad):
Code:
=readchartXmin("Grafiek 1")
Ik heb een aantal vragen:

- Kan ik "Grafiek 1" vervangen door een variabele naam, zodanig dat de naam in de functieaanroep meeverandert als de grafiek een nieuwe naam krijgt?
- Bestaat er de mogelijkheid om "Grafiek 1" niet te hoeven intikken maar om op de grafiek te klikken bij het typen van de functieaanroep?
- Kan de code zodanig aangepast worden dat er ook naar een grafiek op een ander blad (grafiekblad) verwezen kan worden zonder dat het hele adres hard ingetikt wordt?

Veel vragen maar misschien makkelijk te beantwoorden. In afwachting van een reactie, groet, Daan.
 
Laatst bewerkt:
Daan,

Waarom verwacht je dat wij een bestand gaan maken met meerdere grafieken en een VBA programma om jouw vraag
te gaan beantwoorden?
Als je een antwoord wil op bovenstaande vragen stel ik voor dat je een voorbeeld bestand meestuurt.

Veel Succes.
 
Ik ben geen specialist in functies maar zou je niet beter een referentie naar het chartobject meegeven naar je functie ipv de naam van de grafiek?

Om bijvoorbeeld een serie toe te voegen aan een grafiek gebruik ik deze code.
"ChartSheet" is een referentie naar een Chart object ingevuld door de caller.
Code:
Public Function ChartAddSerie(ChartSheet As Chart, SerieName As String, XDataRange As Range, YDataRange As Range, Axis As XlAxisGroup) As Long


Misschien moet je dat ook zo doen bij functies?
Dus iets in het genre:
Code:
Function readchartXmin(Chrt as Chart)

Dit is dus niet getest!!!
En dus ook garantieloos :(
 
Laatst bewerkt:
@ mcs51mc
Dank voor je reactie waardoor ik nog 'ns beter naar de functie heb gekeken. De variabele Chrt mag de naam van de grafiek zijn ("Grafiek 1") maar ook een nummer! Dat komt omdat Chrt de naam of index is van het Chart object in de collectie ChartObjects. Dat helpt een beetje. Heb nog wat rondgekeken en krijg het idee dat dit zo'n beetje de enige manier is om naar grafieken te verwijzen.
Met 'As Chart' erbij zoals jij voorstelde geeft de functie een foutmelding. De functie wordt aangeroepen vanuit een werkbladcel.

@ Elsendoorn2134,
Nee hoor ik verwacht niet dat jullie een bestand gaan maken. Had gedacht dat de vraag ook zonder voorbeeld wellicht te beantwoorden zou zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan