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

automatisch brongegeven aanvullen voor grafiek

Status
Niet open voor verdere reacties.

westra77

Gebruiker
Lid geworden
2 mrt 2007
Berichten
149
in navolging op mijn onderwerp (grafiek automatisch uitbreiden en bijwerken) zou ik graag nog een uitbreiding willen.

de bronggegevens moeten elke keer worden uitgebreid wanneer er nieuwe data wordt bijgevoegd. In de vorige vraag heeft Wigi dit opgelost (dank hiervoor)
echter je moet de brongegevens er handmatig intypen.
Ik zou graag willen dat dit automatisch gaat.
In bijgevoegd excel bestand waarschijnlijk meer duidelijkheid.

alvast bedankt
 

Bijlagen

Om gegevens uit cel 1 in cel 2 te krijgen, doe je:

Code:
Sub cellenoverzetten()

    Sheets("naamvanbladmetcel2").Range("adresvancel2").Value = Sheets("naamvanbladmetcel1").Range("adresvancel1").Value

End Sub

bvb:

Code:
Sub cellenoverzetten()

    Sheets("blad2").Range("B10").Value = Sheets("Blad1").Range("A3").Value

End Sub

Wigi
 
mischien om mijn vraag duidelijker te maken
de waarden in b21 en b22 veranderen elke week (deze worden beide automatisch aangepast) door een macro moeten deze beide gegevens weg worden geschreven naar d24 en d25. de gebruiker kiest door het klikken op de macro knop om de gevens toe te voegen aan de grafiek.
De volgende keer dat weer een berkening wordt uitgevoerd en de cellen b21 en b22 dus veranderen kan de gebruiker wederom kiezen voor het wegschrijven van de gegevens.
deze gegeven moeten nu in cel c21 en c22 komen. de grafiek breidt zich dus uit elke keer als wordt gekozen voor het opslaan van de gegevens.
de reeks waar de grafiek van wordt gemaakt loopt dus van b21 en b22 tot vi21 en vi22

alvast bedankt voor jullie snelle reactie
 
Dit houdt in dat je moet weten wat de laatst ingevulde kolom is. Die kan je (bvb.) vinden door vanuit rij 25, de laatste kolom, een Ctrl-pijltje links te doen.

Zulke code kan je opnemen met de macro recorder.

Wil je het deftiger, zoek dan op het forum naar topics over:

"Wat is de laatst gebruikte rij?"
"Hoe kan ik op de eerstvolgende rij wegschrijven?"

Dat pas je dan aan naar kolommen ipv rijen. Exact dezelfde gedachtengang, code verandert alleen hier en daar een beetje.

Wigi
 
zoals je mischien al hebt begrepen ben ik niet een expert op dit gebied.
ik begrijp niet goed , wat je met ctrl-pijltje bedoelt.
de eerste keer opslaan is geen probleem, maar dan loop ik vast. ik heb al een tijd gezocht binnen het forum maar de meest antwoorden gaan mij boven de pet.

zou iemand mij met het met het laatste stuk ook kunnen helpen.
de eerste keer dat men drukt op de macro "opslaan", worden de gegevens weggeschreven naar d24 en d25. De volgende keer dat de gebruiker wederom op opslaan drukt zouden de gegevens naar de volgende kolom moeten worden weggeschreven.

mischien dat iemand mij door middel van een vb kan helpen

tot nu alvast bedankt voor de hulp
 

Bijlagen

Dit houdt in dat je moet weten wat de laatst ingevulde kolom is. Die kan je (bvb.) vinden door vanuit rij 25, de laatste kolom, een Ctrl-pijltje links te doen.

Neem eens de volgende code op met de macro recorder:

- klik op een cel in een kolom die redelijk ver naar rechts ligt
- druk pijltje links terwijl Ctrl toets ingedrukt is.

Stop dan de macro recorder. Dan heb je de code om de laatst ingevulde kolom te vinden in die rij.

Bekijk dan de gegenereerde code eens. O.a. End(xlToLeft)
 
sorry Wiggi
de macro opnemen is geen enkel probleem
echter het gewenste doel voor elkaar krijgen wel
de tekst van visual basic kan ik niet goed genoeg ontcijferen om hier een bruikbare formule van te maken
zou je me mischien nog een stap verder kunnen helpen

ik waardeer je hulp
 
Code:
Sub dddd()

    Dim LaatsteKolom As Integer
    
    LaatsteKolom = Range("IV24").End(xlToLeft).Column
    
    Cells(24, LaatsteKolom + 1).Value = Range("B21").Value
    Cells(25, LaatsteKolom + 1).Value = Range("B22").Value

End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan