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

Laatste regel van meerdere excel-bestanden inlezen

  • Onderwerp starter Onderwerp starter jansm
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.
Edmoor, ik neem aan dat de regels worden ingelezen met de function ReadLastLine, verder kom ik (nog) niet. Mijn laatste programmeer ervaring gaat terug naar de Commodore 64 en BasicA, dan weet jij wel hoelang dat geleden is. Ik kan zelfs niet de opties van [snb] plaatsen.
Wat ik graag zou willen is de laatste versie van jouw maar dan uitgebreid met de optie om een tijdstip t op te geven. Dan krijg ik een import.csv file met de verzameling regels die gelogged zijn op tijdstip t en niet de laatste regel per file (meestal 23:59).
Ben ik duidelijk? Als mijn vraag met succes beantwoordt, hoeveel vingers heb ik dan nog over?
 
De middelvinger? :P
Nee hoor, ik wil er best even naar kijken. Als ik je goed begrijp wil je de laatste regel uit zo'n bestand die voldoet aan een bepaalde tijd. Gaat het dan om de tijd onder het kopje "Datum/tijd1"?
 
Laatst bewerkt:
:thumb:Dus 2!! Mooi.
Juist, het gaat idd om Datum/tijd1. Per dag-file komen deze tijdstippen maar eenmaal voor dus het is niet de LAATSTE regel die voldoet, maar DE regel. Hoop dat het je duidelijk is. Alvast bedankt.
 
Kijk eens naar deze. In cel C10 kun je de tijd invullen. Overigens bevatten de bestanden niet alle tijden en als je een tijd invult die niet in het bestand voorkomt krijg je van dat bestand de laatste regel. Ook zitten er in 1 van de bestanden regels zonder informatie. Die bestaan uit alleen maar ";" tekens. Dit dus: ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"

Deze regels worden overgeslagen.

Bekijk bijlage EdmoorJansm.xlsm
 
Laatst bewerkt:
Bekijk bijlage Test.rarEdmoor, nogmaals bedankt.
Alleen klein storend iets nog. De macro opent de geproduceerde import.txt file. In deze file wordt soms de waarden in de datum/tijd1 en -2 kolommen omgedraaid. Soms worden ze gepresenteerd als mm-dd-jjjj i.p.v. dd-mm-jjjj. Kan je het nog zo veranderen dat er altijd dd-mm-jjjj staat?
Je kunt het zelf nabootsen als je de macro loslaat op de files in de RAR.
Als je de import.txt file inleest in een nieuw werkblad dan staan alle datum wel goed als dd-mm-jjjj.
 
De gegevens in de import.txt komen uit je eigen .csv bestanden. Daar doet het programma verder niets mee. Als het in dat bestand ergens niet goed is zit het dus al fout in je .csv bestanden.
 
maar hoe is dan het verschil te verklaren tussen de door het prog gemaakte en geopende import.txt
3-3-2014 6:00
3-4-2014 6:00
3-12-2014 6:00
13-3-2014 6:00
16-3-2014 6:00
en de opgeslagen import.txt en daarna ingelezen in een leeg workbook als txt
3-3-2014 6:00
4-3-2014 6:00
12-3-2014 6:00
13-3-2014 6:00
16-3-2014 6:00
Ben ik duidelijk?
 
Dat zal te maken hebben met hoe Excel de datums interpreteert. In de door het programma gemaakt import .txt staat het net zoals in de door het programma gelezen .csv bestanden. Het programma leest de hele regel en dus niet de datums apart. Als er in het .csv bestand je bovenstaande voorbeeld van 3-12-2014 staat, is dat dan 3 December of 12 Maart?

Edit:
Antwoord niet meer belangrijk. Zie #32
 
Laatst bewerkt:
Misschien heeft ooit eens iemand in dit forum daarover een vraag gesteld. ;)
 
Vast wel. Maar ik zie wel dat er verschillende dingen mee gebeuren afhankelijk van hoe je zo'n bestand opent. Ik ben er dus voor dit specifieke geval nog even mee aan het stoeien. Ter leering ende vermaeck zeg maar ;)
 
Laatst bewerkt:
Ok Jansm, ik heb denk ik begrepen wat je bedoeld. Wanneer een datum door een import vanuit VBA wordt gelezen wordt deze standaard behandeld als een US Date. Ik heb de import zodanig gewijzigd dat de datums nu worden behandeld zoals in de Windows regionale instellingen is aangegeven en zou het goed moeten gaan voor zowel datum/tijd1 als datum/tijd2. Test het maar eens.

Bekijk bijlage EdmoorJansm-3.xlsm
 
Yes edmoor, dat was hem! Misschien wil ik nog een keer iets aanpassen, dan mag ik misschien nog wel een keer bij je terugkomen. Je hebt nog een paar vingers over voor mij!
 
Prima, maar probeer intussen ook de huidige code te begrijpen. Veel is het niet dus dat moet lukken en wellicht dat je dan met die kennis zelf een eventueel volgende aanpassing kunt doen. Als je er niet uit komt ben je hier uiteraard welkom.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan