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

Plat slaan van een lijst in Excel

Status
Niet open voor verdere reacties.

eeman82

Gebruiker
Lid geworden
19 dec 2012
Berichten
13
Ik heb een lijst bestaande uit 2 kolommen. In de eerste kolom bevind zich de naam en de tweede kolom een lijst met komma-gescheiden waarden. Deze lijst moet platgeslagen worden. Hieronder een deel en dus een voorbeeld van mijn vraag:

Bron:

Persoon 1 66500 66505 66502 66504 66505 66506 66507
Persoon 2 66200 66250 66266 66252
Persoon 3 66400 66402 40008 52704
Persoon 4 66400 66405 66402 66404 66404 66405 66407

Wens:

Persoon 1 66500
Persoon 1 66505
Persoon 1 66502
Persoon 1 66504
Persoon 1 66505
Persoon 1 66506
Persoon 1 66507
Persoon 2 66200
Persoon 2 66250
Persoon 2 66266
Persoon 2 66252
Etc.


Zie ook het bijgevoegd Excel: Bekijk bijlage vraag.xls

Het aantal kolommen per persoon varieert van 1 tot 50 stuks. Ik heb de lijst ook beschikbaar waarbij de getallen zijn door een komma, dus (66500,66505,66502,66504,66505,66506,66507) mocht dit gemakkelijker zijn.

Alvast dank voor het meedenken!

Gr. Erik
 
Laatst bewerkt:
Dan heb je een platgeslagen lijst? Hoe bedoel je?

Ik heb het nu handmatig gedaan, maar wil dit geautomatiseerd doen natuurlijk..
 
Deze Macro werkt:

Code:
Sub Flatten()

Dim LR, TR, TC, Sh2_ro As Long
Dim Splitval As Variant

LR = Range("A" & Rows.Count).End(xlUp).Row

For TR = 1 To LR

Splitval = Split(Range("B" & TR), ",")
    For TC = 0 To UBound(Splitval)
    Sheets("Sheet2").Range("A1").Offset(Sh2_ro, 0) = Range("A" & TR)
    Sheets("Sheet2").Range("B1").Offset(Sh2_ro, 0) = Splitval(TC)
    Sh2_ro = Sh2_ro + 1
    Next TC

Next TR
End Sub
 
Die macro van mij werkt in tegendeel wel.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan