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

Kolom en Rij transformaties

Status
Niet open voor verdere reacties.

JurriaanM

Gebruiker
Lid geworden
11 aug 2017
Berichten
6
Beste dames en heren,

Ik ben enorm aan het stoeien met de volgende excel-issue. Er zal vast een oplossing zijn voor mijn probleem, maar ik kom er zelf niet uit :confused:. Als iemand mij hiermee zou kunnen helpen zou diegene mij daar een enorme gunst mee doen :)

Ik heb een lijst met namen, waarvan er veel meerdere keren voorkomen in kolom A. In kolom B staat in welke files betreffende informatie over hen staat. Nu moet ik het zo ordenen dat ik in kolom A maar 1x de naam heb staan en in kolom B de naam van de eerste file en dat als er meerdere files zijn met informatie, deze naam in een nieuwe kolom C, D, E of F er achter komt te staan. Het gaat hier om zo'n 15000 gevallen, dus handmatig dit doen is geen optie.

Ik heb een voorbeeldje gemaakt zoals het nu is, met daaronder een voorbeeldje van hoe het er uit zou moeten komen te zien.

Nu

A B
Henk de Vries File 1
Henk de Vries File 2
Henk de Vries File 5
Jan Schipper File 2
Joyce Bosma File 4
Joyce Bosma File 7
Andrea Vermeer File 2
Andrea Vermeer File 3
Andrea Vermeer File 5
Andrea Vermeer File 8
Andrea Vermeer File 11
etc


Gewenst

A B C D E F
Henk de Vries File 1 File 2 File 5
Jan Schipper File 2
Joyce Bosma File 4 File 7
Andrea Vermeer File 2 File 3 File 5 File 8 File 11
etc



Ik hoor het graag als iemand hier het antwoord op weet!

Met vriendelijke groet,

Jurriaan
 
Met een macro

Code:
Sub VenA()
  ar = Sheets("Blad1").Cells(1).CurrentRegion
  With CreateObject("Scripting.Dictionary")
    For j = 2 To UBound(ar)
      .Item(ar(j, 1)) = .Item(ar(j, 1)) & ar(j, 2) & "|"
    Next j
    Sheets("Blad1").Cells(1, 10).Resize(.Count, 2) = Application.Transpose(Array(.keys, .items))
  End With
  Sheets("Blad1").Columns(11).TextToColumns Range("K1"), 1, 1, , , , , , 1, "|"
End Sub
 
Laatst bewerkt:
Hi VenA,

Hartstikke bedankt voor de hulp en de macro code!

Ik heb de macro met VBA geprobeerd te runnen. Hij geeft echter de 'Typen komen niet met elkaar overeen'-error. Mijn kennis van macro's reikt bij lange na niet ver genoeg om te achterhalen wat hier fout gaat. Zou de foutmelding hiervan kunnen komen doordat de inhoud van Kolom B een hyperlink bevat?

Groet,

Jurriaan
 
Je kan beter een gelijkend voorbeeldbestand plaatsen.
 
Excuus, ik zie dat hij de code wel runt als ik mijn voorbeeld file gebruik. Als ik 30 rijen kopieer uit mijn echte file zie ik dat hij die ook runt. Maar de hele file doet ie dan niet.
 
Probeer eens deze:
Code:
Sub VenA()
  ar = Sheets("Blad1").Cells(1).CurrentRegion
  With CreateObject("Scripting.Dictionary")
    For j = 2 To UBound(ar)
      .Item(ar(j, 1)) = .Item(ar(j, 1)) & ar(j, 2) & "|"
    Next j
    Sheets("Blad1").Cells(1, 10).Resize(.Count, 2) = Application.Transpose(Array(.keys, [COLOR=#ff0000]Filter(.items, "")[/COLOR]))
  End With
  Sheets("Blad1").Columns(11).TextToColumns Range("K1"), 1, 1, , , , , , 1, "|"
End Sub
 
Hij werkt! Onwijs bedankt voor de hulp VenA en Timshel! Lifesavers :thumb:!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan