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

Macro maken

Status
Niet open voor verdere reacties.

Klikmaar

Gebruiker
Lid geworden
22 okt 2008
Berichten
58
Ik ben bezig met een Excelsheet waarin 10535 records staan.
Nu wil ik per uniekLnr 1 record waarin per Testcode het resultaat wordt neergezet.
Ik bezig het met functie's te maken, maar dat zie ik niet meer zitten.
Ik denk dat het handig is met een Macro, maar hoe?

Wie kan mij helpen?
 

Bijlagen

Ik ben de hele Pasen al bezig, maar het lukt mij niet.

mod edit: noodkreet? Het forum draait op vrijwilligers.
 
Laatst bewerkt door een moderator:
Sorry maar de vraagstelling is niet helemaal duidelijk :(
Je schrijft "per uniekLnr " maar die kolom is leeg ?!?
Moet er dan naar kolom F "Lnr" gekeken worden?

Heb ik het goed begrepen dat de kolommen N tem P samen genomen worden tot één ',' gescheiden tekst in de kolom van de gelijknamige test?
Voorbeeld eerste 2 rijen: Het gaat om een ANCA test, dan neem je de 6 cellen N2 tem P3 naar één cel L21 omdat dat de kolom is voor de ANCA test, right ?

Waarom doe je dan niet hetzelfde voor de 3 rijen PRO3 test van hetzelfde 632 474 Lnr?

Hoeveel Testcodes heb je zo, 7? Kolommen L tem R van rij 20.
Is dit veranderlijk, kunnen er in de toekomst bijkomen of niet?

De Lnr's staan die altijd samen of staan ze ook wel eens door elkaar in je 10535 records?

Nu heb je het resultaat vanaf rij 20 gezet, maar waar moet het uiteindelijk resultaat komen, onder rij 10535, omdat je zoveel records hebt of op een andere sheet?

Zolang de vraag niet 100% duidelijk zal eender welke macro nooit aan je verwachtingen voldoen :(
 
Eigenlijk met dezelfde vragen als @mcs51mc, maar hier op eigen initiatief op blad2.

Kijk maar eens wat er aan schort.
 

Bijlagen

Ik zag dat het unieke pnr niet ingevuld is, maar dat is wel de bedoeling en dat is ook het unieke nummer waarvan er maar 1 in het Excelsheet mag staan.
Het voorbeeld van de eerste 2 rijen waarin allebei ANCA staat moet in de kolom ANCA beide teksten komen te staan komma gescheiden.
Ik heb 7 Testcodes waarin de teksten komen te staan die nu in de kolommen M t/m P staan.
Het resultaat moet op een volgend worksheet komen te staan.
Dit excelsheet heeft 10535 rijen.
De unieke nummers staan veelal samen.

Ik hoop dat dit voldoende informatie verschaft
 

Bijlagen

Hallo Klikmaar, een aantal zaken zijn zeker uitgeklaard maar rond het uniek nummer heb je er wel een warboel van gemaakt :D
Is het nu kolom E "Pnr" of kolom F "Lnr" of kolom G "UniekLnr" ?!?
Dat kolom L "Testcode" ook een filter criteria is, is duidelijk :thumb:

Wat dacht je van de macro's van HSV en mijzelf?
Is dat een goed begin?
Wat is er nog niet zoals het hoort?

Hierbij alvast een aangepaste versie zodanig dat alle testen van één persoon op één rij komen te staan in het resultaat.
Bekijk bijlage KlikMaar--Voorbeeld-Anca-002.xlsm

VrGr.
 
Laatst bewerkt:
Het unieke Lnr staat in kolom G.
In het stukje
If Application.WorksheetFunction.Subtotal(3, .Range("A:A")) - 1 > 0 Then
'Records gevonden : copy naar sheet "Result"
.Cells(.AutoFilter.Range.Offset(1).SpecialCells(11).Row, 1).Resize(, 11).Copy
oWSResult.Range("A2").Offset(lngRows, 0).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, _
SkipBlanks:=False, _
Transpose:=False
Gaat het fout. Springt er telkens overheen.
Ik snap de eerste regel ook niet.
De sheets heb ik op volgorde Blad1, Result, Temp, Sheet1
 
Filteren op kolom G wil zeggen dat je in onderstaande code het getal 6 moet wijzigen naar 7.
Code:
                'Tabel filteren
                With .UsedRange
                    .AutoFilter Field:=6, Criteria1:=oMyLnr.Value
                    .AutoFilter Field:=12, Criteria1:=oMyTest.Value
                End With

Onderstaande regel telt het aantal rijen die over blijven na filteren op "oMyLnr" en "oMyTest".
Aangezien de hoofding altijd blijft staan moet er 1 afgetrokken worden.
Code:
If Application.WorksheetFunction.Subtotal(3, .Range("A:A")) - 1 > 0 Then


De reden waarom het niet werkt is omdat ik kolom F gebruikt heb om een lijst met unieke nummers te maken, zie blad "Temp".
De naam "rngLnr" verwijst nu naar cel "F1"; je moet dat wijzigen naar cel G1.


Of gebruik gewoon bijgesloten versie...

Bekijk bijlage KlikMaar--Voorbeeld-Anca-003.xlsm
 
En toen werd het stil ;)

Is het probleem hierbij opgelost?
Indien wel, mag ik vragen de vraag op "opgelost" te zetten?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan