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

Grafiek maken met VBA

Status
Niet open voor verdere reacties.

MayNiak666

Gebruiker
Lid geworden
6 jan 2003
Berichten
234
Ik heb een map met verscheiden excel-databestanden, en 1 excel masterbestand. Vanuit dat masterbestand kan ik kiezen voor een totaaloverzicht van ofwel een artikelnummer, danwel een batchnummer. Een totaaloverzicht van een artikelnummer levert een grote hoeveelheid gegevens op, een overzicht van een batchnummer levert een kleinere hoeveelheid gegevens op. Ik heb inmiddels de macro klaar om deze gegevens te verzamelen. Maar nu wil ik van deze gegevens een lijn-grafiek maken. Ik heb geprobeerd een macro op te nemen, maar ik snap er geen hout van, dus vandaar dat ik hier de vraag neer leg.

De gegevens worden verzameld op tabblad 1, genaamd "Gegevens". De grafiek wil ik op het 2e tabblad hebben, wat ik toepasselijk genoeg "Grafiek" genoemd heb.

De grafiek voor het totale artikel-overzicht moet groot zijn. Dus qua breedte moet die het hele werkblad beslaan en de hoogte van de grafiek mag van A1 tot A45 lopen.
De eerste rij van het tabblad gegevens bevat de kolomheaders. De kolommen waarvan ik de gegevens in de grafiek geplot wil hebben, zijn E, F, G en H. Aangezien de hoeveelheid gegevens variabel is, moet het bereik variabel zijn. Ik bedoel dat bijvoorbeeld de eerste waarde in E2 staat, en de laatste waarde is de laatste cel in kolom E die een waarde bevat. Uiteraard geldt hetzelfde voor de overige 3 kolommen.

de horizontale as is een datum. Deze datum staat in kolom B, en is opgemaakt in cijfers met 4 decimalen. In de grafiek wil ik dat weergegeven hebben in datum/tijd, met het formaat dd-mm-jj uu:mm
de verticale as is temperatuur, en deze wordt als ik het goed begrepen heb, vanzelf opgebouwd gebaseerd op de waarden van de serie collecties. Ik wil wel graag de schaalverdeling op die as per 5 graden hebben.

Wie o wie kan mij hiermee op weg helpen? Ik post liever niet een voorbeeldbestand, maar desgewenst kan ik het wel mailen.

gr. René
 
Waarom wil dit via VBA doen?
Als je eenmaal je grafiek gemaakt hebt veranderd hij toch vanzelf als de input veranderd?

Als bijlage een voorbeeld hoe je de input dynamisch kan maken.
 

Bijlagen

Omdat ik niet handmatig zelf de grafiek maak. Het bestand waarin ik de gevraagde gegevens verzamel, bestaat niet totdat ik daadwerkelijk de gegevens verzamel, en van die gegevens wil ik automatisch een grafiek genereren.
 
Dan moet je dus de vba code steeds in dat bestand plaatsen .
Is het niet handiger om in een bestaand (sjabloon?) bestand met grafiek de verzamelde gegevens te plaatsen?
 
Nou kijk.. Ik open het master-bestand. Dit bestand moet eigenlijk alle VBA-code bevatten. In deze omgeving kies ik of ik een overzicht van een artikel of van een batch wil. Nadat ik deze keuze gemaakt heb, wordt er een blanco bestand geopend, waarin de gevraagde gegevens verzameld worden. dit bestand bevat dus 2 tabbladen, te weten Blad1(Gegevens) en Blad2(Grafiek). De gegevens worden, met behulp van code, opgeschoond zodat ik echt alleen de relevante gegevens overhoud. Vervolgens wordt dit bestand opgeslagen onder een andere naam, zodat het blanco bestand ongewijzigd blijft. Mijn intentie was, om vervolgens, met behulp van vba-code in het masterbestand, een grafiek op het 2e tabblad te plotten op basis van de verzamelde gegevens, die zich op blad 1 bevinden. Maar terwijl ik dit typ, schiet me te binnen dat ik natuurlijk je eerste suggestie, namelijk werken met een dynamisch bereik, alvast kan verwerken in het blanco bestand, zodat de grafiek automatisch geplot wordt. Ik ga die mogelijkheid eens even bekijken, en kom er op terug.

gr. René
 
Wel, ik zit nog met het probleem dat in het blanco bestand in eerste instantie erg veel "Raw Data" wordt verzameld en daarna wordt er erg veel overbodige informatie verwijderd. Hierdoor loop ik het risico dat verwijzingen niet meer kloppen. Maar ik heb wel een idee gekregen, namelijk dat ik in de hoofdmacro het dynamische bereik bepaal ná opschonen, en vervolgens een grafiek maak op basis van dat dynamische bereik. Dat wordt dus een beetje van jouw oplossing, verwerkt in een VBA oplossing. Ik denk dat ik er nu wel uit kom. In ieder geval heel erg bedankt voor het meedenken!!!!

gr. René
 
ok... ik dacht dat ik er wel uitkwam, maar helaas.. Ik denk dat ik heel dicht bij het eindresultaat zit, maar op de één of andere manier wordt een bepaald gedeelte van mijn code na de eerste keer nog een keer doorlopen, en ik kan niet vinden waar de fout zit. Wellicht dat iemand van jullie er een blik op zou willen werpen? Ik heb 3 bestanden ingevoegd om mee te kunnen testen. Om te testen kun je DataP3-Nieuw openen, kiezen voor Batch en in het dialoogvenster batchnummer 266360 invullen. Alvast bedankt!!!
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan