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

Data opzoeken, door laten lopen van oudste tot jongste data

Status
Niet open voor verdere reacties.

annevanmierlo

Gebruiker
Lid geworden
24 jul 2014
Berichten
12
Hoi allemaal,

Ik kom ergens totaal niet uit, ben er al even mee bezig en hoop heel erg dat jullie mij zouden kunnen helpen :)

Ik kan zo niet direct de formule benoemen waar het over gaat, maar hieronder waar ik mee zit.
Ik heb twee kolommen met informatie: in kolom A staat informatie over een bepaald nummer (denk aan een bedrijfsnummer/personeelsnummer) en in kolom B staan data. Bij elk nummer horen meerdere data. Zie dit als data waarop het nummer in kolom A een transactie heeft gedaan.
Wat ik nou zou willen is twee andere kolommen waar in een van de kolommen de data worden doorgeteld zodat alle data die tussen de data liggen worden genoemd. Dit begint dus met de oudste data van een bepaald nummer, daaronder komt de dag erna, daaronder komt weer de dag erna, etc etc, tot je bij de dag bent aangekomen wat de jongste dag is die hoort bij datzelfde nummer. Daaronder komt dan de jongste datum van het tweede nummer. Daaronder komt de dag hierna, daaronder komt weer de dag hierna, etc etc, tot je bij de laatste/jongste dag bent aangekomen van het tweede nummer. Naast deze data zou ik dan de nummers willen hebben die bij deze data horen.

In de bijlage heb ik een voorbeeld, dat verduidelijkt het een stuk denk ik!

Is er iemand die mij hiermee kan helpen? Alvast ontzettend bedankt!

Anne

PS: Handmatig kun je dit natuurlijk wel doen, maar er zijn duizenden nummers. Dus ik zou graag een automatische manier vinden om dit toe te kunnen passen.
 

Bijlagen

  • Excelvoorbeeld data.xlsx
    11,2 KB · Weergaven: 39
Laatst bewerkt:
Ok dan. En graag gedaan :)
 
Nog een vraagje over dit punt. Het werkt perfect voor een rij datums die niet al te groot is, maar ik werk met een bestand waar ongeveer 500000 rijen onder elkaar staan. Hierbij geeft excel de foutmelding 'Fout 6 tijdens uitvoering' en als ik op 'foutopsporing' klik, wordt het vlak 'For i=3 to rEinde' geel. Enig idee waar dit aan kan liggen of hoe ik dit kan aanpassen?

Dank alvast!!
 
Fout 6 is een overflow error en dat is vreemd omdat rEinde een Long is. Maar wijzig die regel eens in dit:
Code:
For i = 3 To CLng(rEinde)
 
Dank voor je reactie. Nu gebeurt precies hetzelfde. Een melding 'Fout 6 tijdens uitvoering: Overloop'. Als ik op 'Foutopsporing' klik, wordt d regel 'For i = 3 To CLng(rEinde)' geel en er staat en klein pijltje voor..
 
Is het mogelijk dat ik het zelf eens met dat document kan testen? Anders ben ik bang dat het trial en error over en weer gaat worden.

Wat je nog even kunt proberen is dit:
Code:
For i = 3 To CLng(rEinde) * 1
 
Oops! Slip of the Finger! :eek:
Wijzig Dim i As Integer eens in Dim i As Long

En hetzelfde voor de variabele y
 
Laatst bewerkt:
Dankjewel! Nu is die foutmelding inderdaad weg :)
Kan het misschien kloppen dat excel maar ongeveer 1 miljoen rijen kan gebruiken? Het runnen van de macro duurt lang en leidt uiteindelijk tot 'Fout 1004 tijdens uitvoering: Door de toepassing of door object gedefinieerde fout'. Als ik daarna in het excel bestand kijk zie ik dat alle rijen t/m rij 1048576 gevuld zijn en daarna zie ik ook geen rijen meer.
 
Het datatype Long kan in signed format gaan tot 2147483648, dat is dus iets meer dan de 500000 die je eerder noemde en kan daarom de oorzaak niet meer zijn. Maar nu zeg je 1048576?
Om te onderzoeken waar het dan aan ligt zou ik echt dat document moeten bekijken.
 
Laatst bewerkt:
Ik denk dat dat niet gaat lukken, helaas. Ik krijg bij het uploaden continu de melding: Uploaden van bestand mislukt. Het bestand is ook iets meer dan 5000 kB, wellicht ligt het daaraan. Heb geprobeerd gewoon alleen een bestand te maken met die twee kolommen, 500000 rijen, maar krijg dan dezelfde melding.

Oh per ongeluk een ander bestand in de bijlage gezet, dat was het originele bestand, dus dat is het niet.
 

Bijlagen

  • Excelvoorbeeld data.xlsx
    11,2 KB · Weergaven: 25
Voor Excel 2007 t/m 2013 is het maximum aantal rijen 1048576.
Daar zal een wijziging in de code niets aan veranderen.
Het document bekijken zal dus geen nut hebben.
 
Laatst bewerkt:
Excel kan inderdaad "maar" 1.048.576 rijen per tabblad aan. (< Excel2007 slecht 65.536!!).
Als er in jouw bestand al een beginaantal van 500.000 records hebt, dan is het helemaal niet gek dat je over de grens gaat. Je wilt immers records toevoegen voor niet voorkomende datums en dat kan aardig oplopen.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan