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

Gegevens consolideren in Excel

Status
Niet open voor verdere reacties.

ebalk

Nieuwe gebruiker
Lid geworden
11 jul 2014
Berichten
4
Beste collega leden,

Bijgesloten een bestand waarin ik verticaal georienteerde gegevens graag wil consolideren naar een horizontale orientatie. Is er iemand die mij kan helpen aan een makkelijk te (her)gebruiken oplossing voor deze uitdaging?

Het bestand bevat 2 tabbladen met data, tabblad 1 is het doel en heeft voorbeelddata ingevuld, de enige wijze waarop ik dit momenteel voor elkaar krijg is met kopieren en plakken (transponeren) Dit is voor kleine datasets geen enkel probleem, echter het echte bestand waarvoor ik dit moet doen bevat in de doelpagina meer dan 10.000 records en in het bronbestand meer dan 50.000 records, handmatig kopieren en plakken is dan zeer tijdrovend en met een programma als Excel moet dit geautomatiseerd kunnen, maar ik kan geen oplossing vinden in mijn (beperkte) arsenaal van mogelijkheden, ik hoop dat hier iemand een macro op de plank heeft liggen of een makkelijk te implementeren functie van Excel kent die mij verder kan helpen.

Bekijk bijlage Gegevens Consolidatie Uitdaging.xlsx
 
Dank voor je supersnelle reactie WHER.

Ik ga proberen de formule die je voor mij gemaakt hebt te ontleden en toe te passen in mijn "echte" bestand, ik laat je weten of het dan gelukt is!
 
Dankjewel WHER, ik heb hem kunnen analyseren en aanpassen naar mijn precieze situatie, hij is makkelijk aan te passen! Top ik ben hier ontzettend mee geholpen en deze kan ik probleemloos hergebruiken zoveel ik wil. Excel heeft het er een klein beetje moeilijk mee dit uit te voeren op 15.000 regels, maar het kost in ieder geval veel minder tijd dan met de hand kopieren :D
 
Waarschijnlijk veel sneller:

Code:
Sub M_snb()
    ReDim sp(1 To 15000, 1 To 20)
    sn = Sheets("brongegevens").Cells(1).CurrentRegion
    
    For j = 2 To UBound(sn)
        If sp(sn(j, 1), 1) = "" Then
           sp(sn(j, 1), 1) = sn(j, 1)
           jj = 2
        End If
        sp(sn(j, 1), jj) = sn(j, 2)
        jj = jj + 1
    Next
    
    Sheets("doelgegevens").Cells(2, 1).Resize(UBound(sp), UBound(sp, 2)) = sp
End Sub
 
Laatst bewerkt:
@SNB

Dank voor je Macro script, ik moet zeggen dat ik deze niet zo makkelijk ombouw naar wat ik precies nodig heb, omdat ik moeite heb met lezen van het script, zo kan ik niet helemaal goed bepalen waar de rijen en kolommen worden uitgelezen, kun je me misschien helpen door het script te voorzien van een korte uitleg op de belangrijke plekken (variabelen)?
 
De kolommen en rijen worden ingelezen in de tweede regel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan