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

Opgelost Inladen van een .csv bestand dmv macro vereenvoudigen

Dit topic is als opgelost gemarkeerd

anton44

Verenigingslid
Lid geworden
20 mei 2005
Berichten
1.755
Voor het vinden van een piekmoment maak ik gebruik van een gexporteerd .csv bestand.
De verkregen data moet bewerkt worden om de maximale opbrengst en bijbehorend tijdstip er uit te kunnen destileren zoals in de bijlage "Max uit power-chart-data - test.xlsm" is beschreven.
Eigenlijk zoek ik een eenvoudiger oplossing (met macro?) zoals beschreven als Gewenste werkwijze.

Als het destileren van de data zoals getoond in kolommen B en C (waarde en tijd) met macro ook eenvoudiger kan dan hou ik me aanbevolen :)
 

Bijlagen

Uitstekende oplossing. Bedankt.
Verdere verfijning:
Het tijdstip zonder de datum dus alleen uu:mm
en de waarde afronden naar hele getal.
 
En ook maar even de tussentijdse melding verwijderd:
 

Bijlagen

Laatst bewerkt:
Perfect !!!

Is het een brug te ver of een uitdaging om de gevonden waarden in een ander tabblad op de juiste datum in resp kolommen O en P te plaatsen? (is hier al handmatig gedaan)
Uiteraard heb je dan het bestand nodig dat ik je dan ter beschikking stel.

Screen-20250618_181215-92.jpg
 
Geen probleem.
Heeft het CSV bestand altijd dezelfde naam en locatie? Dan kan het inlezen zelfs automatisch geschieden zodra je het moederbestand opent en het CSV bestand aanwezig is.
 
Het CSV bestand heeft tot nu toe dezelfde naam (door leverancier bepaald) en door mij gedefinieerde downloadmap. Automisch runnen bij openen is niet zinvol aangezien ik eerst het csv bestand zelf en actief moet downloaden. De macro handmatig starten met een knop o.d. is prima.
Het bijgevoegde bestand heb ik mbt tabbladen flink afgemagerd ter vermindering van complexiteit voor jou - niet vanwege privacy -
 

Bijlagen

Op Kopblad in D19 een named range toegevoegd met de naam CSVbestand.
Module modImport toegevoegd.
Op werkblad Energie een button "Import Max" geplaatst die de functie in module modImport aanroept.
Het statement kill CSVPath kun je zelf actief maken indien gewenst, maar ik neem aan dat je bij het maken van een nieuwe download de bestaande overschrijft.

P.S. Oeps
Van deze twee regels mag je er een verwijderen:
Code:
        Set rng = ActiveSheet.Range("B:B").Find(maxWatt)
        Set rng = ActiveSheet.Columns(2).Find(maxWatt)
 

Bijlagen

Laatst bewerkt:
@AHulpje,
Precies hoe ik het wenste. Heel veel dank.
Met de uitleg ga ik mijn originele bestand eenvoudig aanpassen.
 
Het aanpassen van mijn originele bestand:
1. Export van de module midImport uit het testbestand en import in mijn org_bestand
2. Toegevoegd in het kopblad op D19 de regel voor de bestandslocatie.
3. Knop toegevoegd en de macro gekoppeld.
Nu geeft het uitvoeren bij het org_bestand een foutmelding op csvPath = Range("CSVbestand")
Het testbestand geeft de foutmelding niet.
Ook het direct kopiëren van je macro en de regel in het kopblad geeft geen oplossing.
Beide bestanden hebben verschillende bestandsnamen en staan in eenzelfde subdirectorie.

Screen-20250619_072959-95.jpg

Screen-20250619_072932-94.jpg
 
"Op Kopblad in D19 een named range toegevoegd met de naam CSVbestand."

Heb je dat ook gedaan?
 
een named range toegevoegd ?
Ik heb wel in D19 "d:\downloads\power-chart-data.csv" toegevoegd zoals de schermafdruk laat zien.
Moet er meer gebeuren?
 
Ja, selecteer de cel D19 en type CSVbestand in het naamvak, dat is het vakje direct boven de linker kolom, en vergeet niet op Enter te drukken.
Omdat je veel benoemde bereiken in je bestand gebruikt dacht ik dat dat wel duidelijk zou zijn.
 
Tjakaa 😊 Opgelost
Veel van de macro's heb ik te danken aan enthousiaste mensen op dit forum.
Met grote waardering.
Het begin eenvoudig en het blijft groeien ook door van mijn kant mijn wensen steeds hoger te stellen.
Dit alles als hobby.
 
Mooi zo.
Via "Formules", "Namen beheren" kun je zien welke namen er gedefinieerd zijn.
 
Ok.
Er is nu een ander probleempje.
Deze melding blijft komen ondanks dat er een csv van 18-06-2025 in de downloadmap staat

Met een nieuw csv bestand van vandaag komt dezelfde melding met 19-06-2025 als datum.
In het testbestand gaat het wel goed.

1750316713596.png
 

Bijlagen

  • 1750316692481.png
    1750316692481.png
    9,5 KB · Weergaven: 1
Laatst bewerkt:
Alweer opgelost met de nieuwe code. Bedankt.
Ben benieuwd wat de oorzaak was (hobby)
 
Het gebruik van de .Find functie op een datumkolom met formule en afwijkende celopmaak is niet betrouwbaar, vandaar de For loop.
 
Terug
Bovenaan Onderaan