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

Excel tabellen samenvoegen

Status
Niet open voor verdere reacties.

remcop1989

Gebruiker
Lid geworden
29 mrt 2012
Berichten
492
Gedurende enkele jaren is alle informatie over bedrijven waar contact mee is geweest opgeslagen. Dit heeft gedurende de tijd geleidt tot 2 Excel-bestanden die parallel aan elkaar zjin bijgehouden.

Beide bestanden bevatten 5000 tot 5200 rijen. Iedere rij bevat de informatie over 1 bedrijf / 1 contactpersoon. Deze informatie is opgeslagen in Kolom A t/m R.

In beide bestanden staat nagenoeg dezelfde informatie, maar bevatten beide net iets andere info op sommige punten.

Ook is het zo dat niet iedere regel volledig ingevuld is door het ontbreken van informatie.


Uiteraard is er de optie dubbele gegevens zoeken onder voorwaardelijke opmaak. Maar of dit ook voor 2× 5000 regels zo handig is weet ik niet.
Ik zoek nu de beste methode om deze gegevens te filteren en er 1 complete lijst van te maken.

Wie heeft tips?
 
Met vert.zoeken kun je de ene lijst aanvullen met wat in de andere lijst staat.
Bij een error bestaat hij niet in de andere lijst.
 
Als jij een xls voorbeeldje post met jou fictieve gegevens.
Anders blijven we langs elkaar heen praten.
 
Zie de bijlagen.

Ik heb 2 documentjes gemaakt (test 1 en test 2).

In test 2 staan meer bedrijven dan in test 1.
Ook staan in test 2 gegevens die in test 1 niet staan.

Bedoeling is dus dat beide lijsten samengevoegd worden tot 1 correcte.
Dit is een goed voorbeeld van de echte lijsten.
 

Bijlagen

welke versie is dan de beste, die van 1 of die van 2, maw; welke vervalt er als beiden ingevuld zijn met andere waarden.
Beide versies staan nu als aparte tabbladen in dezelfde map en worden door de macro "samenvoegen" samengevoegd naar het tabblad "samengevoegd".
 

Bijlagen

Laatst bewerkt:
Code:
Sub M_snb()
    sn = Workbooks("test 1.xlsx").Sheets(1).UsedRange
    sp = Workbooks("test 2.xlsx").Sheets(1).UsedRange
    
    With CreateObject("scripting.dictionary")
       For j = 2 To UBound(sn)
          If sn(j, 1) <> "" Then .Item(sn(j, 1)) = Application.Index(sn, j, 0)
       Next
    
       For j = 2 To UBound(sp)
          If sp(j, 1) <> "" Then
            st = .Item(sp(j, 1))
            If IsEmpty(st) Then
                .Item(sp(j, 1)) = Application.Index(sp, j, 0)
            Else
               For jj = 1 To UBound(st)
                  st(jj) = sp(j, jj)
               Next
               .Item(sp(j, 1)) = st
            End If
          End If
       Next
       
       Sheets(1).Cells(1, 10).Resize(.Count, UBound(sn, 2)) = Application.Index(.items, 0, 0)
    
    End With
End Sub
 
Een vorm van crossposting ??

Geen waardering voor aangereikte suggesties ??
 
Geen vorm van crossposting want het gaat over 2 verschillende onderwerpen van 1 document.

Waardering voor suggesties is er zeker. Ik geef alleen aan het al opgelost te hebben.

Dank allemaal!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan