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

Dynamisch grafiek bereik

Status
Niet open voor verdere reacties.

Appievee

Gebruiker
Lid geworden
15 jul 2010
Berichten
83
Beste forummers,

Ik ben zoekende dat grafieken en de gegevens die zij pakken afhankelijk is van het aantal ingevoerde gegevens.
Na wat speurwerk hier op het forum ben ik aan de slag gegaan met adviezen m.b.t. dynamisch bereik. Echter ik krijg het niet aan de praat.

In de bijlage vinden jullie een versimpeling van het bestand.

Ik heb een naam Grafiekdynamisch aangemaakt met deze verwijzing. (Ik weet dat het laatste deel ook opgebouwd kan worden met aantal.arg maar dan krijg ik minder voor elkaar:o)
Code:
=VERSCHUIVING(Blad1!$B$28;0;0;5;Blad1!$A$35)


Twee vraagjes
  • Nu wil ik nog dat de grafiek gegevens zich automatisch aanpassen nadat mensen het hebben aangevuld. (nu voer ik elke keer opnieuw in bij de grafiek gegevens "Grafiekdynamisch"
  • Bovendien wil ik straks de grafiek op een ander blad zetten, waar moet ik dan op letten? Of wat is de snelste manier?

Tkx, Albert
 
Ik heb een poging gewaagd om een met macro opnemen het te automatiseren.

Als je dan bij de grafiek het gegevensbereik invoert (invullen van verwijzing: GrafiekDynamisch) wordt het goed bijgewerkt. Alleen in VBA-code wordt dan het dan geldende bereik 'hard' ingevoerd (zie rood). Dus de macro is dan niet meer dynamisch voor hergebruik
Code:
Sub Grafiekupdaten()
'
' Grafiekupdaten Macro
'

'

    ActiveSheet.ChartObjects("Chart 17").Activate
    ActiveChart.PlotArea.Select
    ActiveChart.SetSourceData Source:=[COLOR="#FF0000"]Range("B30:F33")[/COLOR]
    
End Sub

Heeft iemand een oplossing?

Gr. Albert
 
AppieVee.

Je kunt het bereik ook gewoon dynamisch opnemen, je heb toch al een dynamisch bereik gemaakt genaamd GrafiekDynamisch,
maak daar gebruik van:

Code:
Sub Grafiekupdaten()
'
' Grafiekupdaten Macro
'

    ActiveSheet.ChartObjects("Chart 17").Activate
    ActiveChart.PlotArea.Select
    ActiveChart.SetSourceData Source:=Range("GrafiekDynamisch")
    
End Sub

Veel Succes
 
Yep dat is 'm, wist niet dat het zo simpel was om het dynamische bereik te activeren.

Thx Elsendoorn!
 
Ik krijg het toch nog niet helemaal aan de praat zoals ik het wil.
Bij 1 grafiek is het gelukt maar bij een ander helaas (nog) niet :confused:

In mijn eerdere bijlage (map2.xls) wordt het dynamische bereik netjes geïnterpreteerd als 1 rij voor de as en een aantal reeksen voor in de grafiek.
In de nieuwe bijlage (map3.xlsm) gaat het helaas mis. De gegevens worden verwerkt tot 3 rijen voor de as en 1 rij voor de reeks in de grafiek.

Ik heb dit geprobeerd op te lossen door handmatig dit toe te wijzen, maar zodra ik dan de gegevens in de grafiek update (met behulp van grafiekdynamisch3) dan springt ie naar het oude.


Mijn speurwerk om dit te tackelen heeft nog niets opgeleverd, heeft 1 van jullie een idee?

Alvast bedankt!

Albert
 

Bijlagen

Ik heb het opgelost zonder VBA
Ik heb gedefinieerde bereiken toegevoegd die dynamisch zijn o.b.v. de hoogste kolom die ingevoerd is in het inputbereik
De MaxKolommen bereken ik m.b.v. matrixformules in bereik A18:A21
Laat maar weten of dit hetgeen is wat je wilt...........
 

Bijlagen

Dynamische bereiken zijn sinds 2007 (en eigenlijk al vanaf 2003) nog maar zelden nodig. Werk toe naar een verticale opstelling van je gegevens en gebruik een tabel (Invoegen > tabel). Als je onderaan/ergens een rij toevoegt past excel de grafiek voor je aan.
 

Bijlagen

Goedemorgen, bedankt voor het meedenken. Hier kan ik wel wat mee vermoed ik!:thumb:

@pixcel: helemaal met je eens dat de tabelvorm het makkelijkste zou werken. Echter zijn heel veel formats bij ons juist in horizontale richting, dus dan zullen we heel veel moeten gaan ombouwen. Wellicht niet onverstandig....

@Piet: dit lijkt me wel een geschikte oplossing. Sowieso waren dynamische bereiken al nieuw voor mij, dus ik wist niet dat je dit ook direct toe kan wijzen aan een reeks van de grafiek. Ik ga er mee aan de slag.

Gr. Albert
 
Goedendag forummers

Ik ben de lijn van Piet Bom gaan volgen alleen stuit ik nu nog op een klein probleempje:

De gebruikers voeren de gegevens in waarna deze omgezet worden in output voor de grafiek.
Om de invoer overzichtelijk te houden wil ik deze output regels verbergen, alleen dan verdwijnen ook de lijnen in de grafiek.

Hoe los ik dit op? (ik heb namelijk geen zin om nu alles weer te gaan ombouwen:shocked:)

Alvast bedankt,

Albert
 
Inmiddels gevonden:

Bij Grafiek>gegevens selecteren...>verborgen en lege cellen> kun je aanvinken dat verborgen regels/kolommen wel aangegeven moeten blijven.

Groet, Albert
 
De reeksen in de grafiek heb ik dynamisch gemaakt met hulp van een verschuiving zoals iets dergelijks

Code:
=VERSCHUIVING(Blad1!$B$28;0;0;5;Blad1!$A$35)

Alleen loopt dit in de soep als het dynamische bereik leeg is (dus geen waarden bevat).
Zolang er maar een 0 staat is het goed, maar verwijder je die dan krijgen je melding
"Een formule op het blad bevat een of meerdere ongeldige verwijzingen {...}"

Dus ik zou tot slot geholpen zijn als in dit geval cel D59 (waar ik dus een 0 heb neergezet):
  • beschermd is tegen deleten/leegmaken door de gebruiker
  • maar de gebruiker hier wel een ander getal kan neerzetten

De uitleg voldoende duidelijk?

Tkx!

Albert
 
Zelf wat in elkaar gesleuteld wat in elk geval werkt.


Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Range("D76") = Empty Then
Range("D76") = 0
End If

Gr. Albert
 
Ken je de One-Man-Show van AppieV ? :d
Op een forum lok je interactie uit d.m.v vragen stellen;)
 
@Piet, dat klopt, maar het zou toch zonde zijn als forummers er moeite in steken als ik zelf inmiddels al heb gelost.
Zat immers als een dagje tussen ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan