• 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 Specifieke data distilleren uit 150 formulieren (iedere zoveelste regel)

Dit topic is als opgelost gemarkeerd

Bart1980991

Gebruiker
Lid geworden
15 aug 2018
Berichten
32
Goedendag,

Ik heb 250 ingevulde formulieren ontvangen waaruit ik data wil halen.
Helaas is de ordening niet geweldig maar de sequence is wel steeds hetzelfde (iedere zoveelste rij van het formulier is hetzelfde.
Het formulier bestaat uit 217 rijen.

Ik heb een sample (anoniem) toegevoegd met de data en het gewenste resultaat. Deze heb ik ook gemarkeerd met geel in de data. De sample bevat 3 formulieren maar in werkelijkheid zijn het er dus 250.

Ik ben al met Index en match aan de gang geweest maar kom niet tot de juiste velden.
Wat een beetje werkt is via een draaitabel en filter. Alleen komt dan nog veel vervuiling mee die handmatig eruit gehaald moet worden.

Heeft iemand een tip hoe ik dit het beste aan kan pakken?
 

Bijlagen

  • Sample.xlsm
    31,8 KB · Weergaven: 15
Bedoel je zoiets?
 

Bijlagen

  • Sample.xlsm
    45,6 KB · Weergaven: 8
tussen de eerste voornaam en de tweede zitten 117 regels, de volgende staat 217 verder.
Waar is de regelmaat ?
 
tussen de eerste voornaam en de tweede zitten 117 regels, de volgende staat 217 verder.
Waar is de regelmaat ?

voornaam 1 op regel 11
Voornaam 2 op regel 228
Voornaam 3 op regel 445

Zit toch 2x 217 tussen????
 
Laatst bewerkt:
Met een macro:
 

Bijlagen

  • Sample AH.xlsm
    37,6 KB · Weergaven: 16
Let op, als je de oplossing van emields gebruikt moet je
Code:
[a20000].End(xlUp).Row
nog even wijzigen in
Code:
Range("sample_OKR").Rows.Count
anders kun je geen 150 leerlingen verwerken.
 
Ik heb er hem in het verleden al enkele malen op gewezen maar emields blijft in al zijn codes halsstarrig vasthouden aan een statische manier om de onderste rij aan te duiden. Waarom, dat begrijp ik ook nog steeds niet aangezien er dynamische manieren zijn om deze aan te duiden.
 
Zo zijn er anderen die volharden in het steeds maar weer lezen en schrijven in een werkblad, terwijl dat met een Array veel efficiënter gaat.
Uitgangspunt in VBA: 1 * gegevens lezen, 1 * gegevens schrijven, verwerken/berekenen van gegevens in het werkgeheugen.
En gebruik maken van een benoemd gebied is handiger dan VBA het gebruikte gebied te laten bepalen.

CSS:
Sub M_snb()
   sn = [sample_OKR]                                                             '   lezen
   ReDim sp(UBound(sn) \ 217, 24)
 
   For j = 1 To UBound(sn) Step 217                                                '   verwerken
     sp(n, 0) = sn(j, 1)
     For jj = 1 To 24
       sp(n, jj) = sn(j + jj + 8 - 100 * (jj > 5), 2 - (jj > 5))
     Next
     n = n + 1
   Next
 
   Sheets("resultaat").Cells(2, 1).Resize(UBound(sp) + 1, UBound(sp, 2) + 1) = sp    '   schrijven
End Sub
 
Laatst bewerkt:
Terug
Bovenaan Onderaan