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

Waardes verspreid over verschillende regels samenvoegen tot 1 record

Status
Niet open voor verdere reacties.

hennie2504

Gebruiker
Lid geworden
8 mei 2013
Berichten
8
Beste Excel Goeroe's,

ik heb al diverse topic's bekeken maar al met al kom ik er niet uit.

Momenteel heb ik een datadump onderhanden waarin diverse gegevens van leveranciers over meerdere regels zijn verspreid. Iedere regel is uniek doordat elke regel een bepaalde branchecode bevat die weer net iets anders is als de andere.

Ik wil juist alle NAW gegevens (adressen, naam, code, IBAN) opzoeken in de diverse regels en bundelen naar 1 record / regel. Echter het kan zijn dat het adres dubbel voorkomt op 3 regels in het bereik en het IBAN maar 1 keer op een bepaalde regel.

Waar ik al erg mee geholpen zou zijn is dat ik een bepaalde waarde geretourneerd kan krijgen die ergens staat in een bereik. Het IBAN nummer staat er bijvoorbeeld maar 1 keer in op een bepaalde regel en die zou ik dan via een manier eruit willen vissen op 1 record.

Kortom "I Need help!!"

in de bijlage een voorbeeldbestand.

Alvast erg bedankt voor jullie hulp!!
 

Bijlagen

Laatst bewerkt:
Kun je het voorbeeld bestand iets kleiner maken door alle niet relevante kolommen te verwijderen.
 
Probeer het eens met dit macrootje
Code:
Sub tsh()
    Dim Br, Bq
    Dim i As Long, j As Long
    
    Br = Sheets("Blad1").Cells(1).CurrentRegion
    With CreateObject("Scripting.Dictionary")
        For i = 1 To UBound(Br)
            Bq = .Item(Br(i, 1))
            If IsEmpty(Bq) Then ReDim Bq(UBound(Br, 2) - 1)
            For j = 0 To UBound(Bq)
                If Br(i, j + 1) <> "" Then Bq(j) = Br(i, j + 1)
            Next
            .Item(Br(i, 1)) = Bq
        Next
        Sheets("Blad2").Cells(1, 1).Resize(.Count, UBound(Bq) + 1) = Application.Index(.Items, 0)
    End With
End Sub
Uitvoer op Blad2
 
Timshell,

Bedankt, dit werkt super!

2 aanvullende vragen:D

* is dit schaalbaar? ik heb in het oorspronkelijke bestand nog meer kolommen die in de macro mee moeten lopen. Ik zo in de code zo geen afbakening van bepaalde kolommen behalve CurrentRegion (ben een beetje bekend met VBA)

* Hoe gaat de macro om met dubbel waarden en hoe beslist hij welke hij als uitgangspunt neemt?

Alvast super bedankt!
 
@TimShell,

Heb het even snel uitgeprobeerd op het bronbestand.

Held!

Werkt perfect, mijn dank is zeer groot!!
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan