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

Combinaties maken uit 2 bestanden

Status
Niet open voor verdere reacties.

blmsth

Gebruiker
Lid geworden
26 feb 2013
Berichten
47
Goede morgen
Ik heb 2 bestanden met data met telkens 1 gezamenlijk veld (artikelcategorie).
Bestand 1: artikelnummer en artikelcategorie
Bestand 2: artikelcategorie en leverancierscode(s)
Ik wens nu achter elk artikelnummer (uit bestand 1) een leverancierscode te plaatsen (uit bestand 2). Probleem is dat sommige artikelnummers moeten gedupliceerd worden, als er voor die artikelcategorie meerdere leverancierscodes bestaan.
Hoe kan ik dit automatiseren, zodat ik niet manueel artikelnummers moet dupliceren voor het aantal leverancierscodes? Bestanden in bijlage
Thx
Tom
 

Bijlagen

  • Bestand 1.xlsx
    88,9 KB · Weergaven: 33
  • Bestand 2.xlsx
    10,7 KB · Weergaven: 31
Ik heb de 2 tabellen op 1 tab gezet.
Vul nu eens handmatig in wat er wanneer moet gebeuren.
 

Bijlagen

  • Bestand_samengevoegd.xlsx
    91,7 KB · Weergaven: 29
Zie bijlage.

Mvg
Tom
 

Bijlagen

  • Bestand_samengevoegd_reactie.xlsx
    91,7 KB · Weergaven: 34
Heb je zelf enig idee? of zoek je gewoon een goekope oplossing ?
 
Ik heb een voorstel, indien ok kun je het in je eigen bestand toepassen.
 

Bijlagen

  • Bestand_samengevoegd_reactie(cobbe).xlsb
    54,8 KB · Weergaven: 32
@ snb -> dacht zelf aan verticaal zoeken en daarna lijn per lijn copiëren, maar denk dat dit sneller kan.
@ cobbe -> artikelnummers worden blijkbaar niet gedupliceerd (toegevoegd) als er meer dan 1 leverancierscode bestaat...dit moet de bedoeling zijn (zie mijn voorbeeld met artikelcode 10 -> hiervoor bestaan 17 leverancierscodes dus artikelnummer 10 moet in totaal 17x bestaan.
 
@ snb -> dacht zelf aan verticaal zoeken en daarna lijn per lijn copiëren, maar denk dat dit sneller kan
hiervoor bestaan 17 leverancierscodes dus artikelnummer 10 moet in totaal 17x bestaan.

Van die formule ga je niet blij worden.
Je gaat 47010 regels nodig hebben in jouw geval.
 
Deze brengt misschien soelaas.

Code:
Sub Cobbe()
    Range("B4:C4000").ClearContents
    Application.ScreenUpdating = False
    For Each cl In Range("I4:I40")
        r = Range("C2").End(xlDown).Offset(1, 0).Row
           For y = 1 To cl.Offset(, -1)
            Cells(r, "C") = cl
            r = r + 1
        Next y
    Next

    For Each cl In Range("C4:C4000")
        If cl <> cl.Offset(-1, 0) Then
            Set r = Range("I4:I40").Find(cl)
            If Not r Is Nothing Then
                Range(Cells(r.Row, 10), Cells(r.Row, 10 + Cells(r.Row, 8))).Copy
                Cells(cl.Row, "B").PasteSpecial Paste:=xlPasteAll, Transpose:=True
            End If

        End If
    Next
    Application.ScreenUpdating = True
End Sub
 

Bijlagen

  • Bestand_samengevoegd_reactie(cobbe).xlsb
    52 KB · Weergaven: 30
Of deze:
 

Bijlagen

  • Copy of Bestand_samengevoegd.xlsm
    679,5 KB · Weergaven: 33
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan