Beste deskundigen,
Ik heb een spreadsheet waarbij gegevens van het map "OLZ" worden gekopieerd naar map "Doorloop".
Er worden echter alleen gegevens gekopieerd indien deze gegevens nog niet op map "Doorloop" staan, dit gebeurd op basis van een vergelijking van een celwaarde in map "OLZ" kolom "K" met een celwaarde in map "Doorloop" kolom "E". Zie onderstaande makro:
Wat ik graag voor elkaar zou krijgen is dat het kopiëren van gegevens van map "OLZ" naar de map "Doorloop" niet afhankelijk is van één criterium te weten
maar dat er nog een criterium bij komt en wel map "OLZ" kolom "A" icm met map "Doorloop" kolom "A"
met andere woorden:
Indien in map "Doorloop" de combinatie van de naam (kolom A) en het nummer (kolom E) nog niet voorkomt, dan mag er gekopieerd worden van map OLZ naar map Doorloop.
In het bijgevoegde document wordt Naam 2 niet gekopieerd naar Doorloop omdat het bijbehorende nummer gelijk is aan het nummer bij Naam 1 en dat nummer staat al in de map Doorloop, er moet dus echter niet alleen gekeken worden naar het nummer maar naar de combinatie van de naam en het nummer. Naam 2 moet dus ook gekopieerd worden ondanks dat het nummer gelijk is. Komt de combinatie van de naam én het nummer al voor in de map Doorloop, dan mag er dus niet gekopieerd worden.
Ik hoop dat duidelijk is wat ik bedoel
Bij voorbaat alvast mijn dank voor jullie hulp.
Ruud
Ik heb een spreadsheet waarbij gegevens van het map "OLZ" worden gekopieerd naar map "Doorloop".
Er worden echter alleen gegevens gekopieerd indien deze gegevens nog niet op map "Doorloop" staan, dit gebeurd op basis van een vergelijking van een celwaarde in map "OLZ" kolom "K" met een celwaarde in map "Doorloop" kolom "E". Zie onderstaande makro:
Code:
Sub OLZnaarDoorloop()
Dim rtu As Long
Dim BPS As Range
Dim shOLZ As Worksheet
Dim shOLB As Worksheet
Set shOLZ = Sheets("OLZ")
Set shOLB = Sheets("Doorloop")
With shOLB
.Unprotect "qq11"
rtu = 4
While .Cells(rtu, 1) <> ""
rtu = rtu + 1
Wend
End With
shOLZ.Unprotect "qq11"
For i = 9 To 19
If shOLZ.Cells(i, 1) <> "" Then
Set BPS = shOLB.Columns("E").Find(shOLZ.Cells(i, "k").Value, LookIn:=xlValues)
If BPS Is Nothing Then
shOLB.Cells(rtu, "A") = shOLZ.Cells(i, "A").Value
shOLB.Cells(rtu, "C") = shOLZ.Cells(i, "N").Value
shOLB.Cells(rtu, "E") = shOLZ.Cells(i, "K").Value
shOLB.Cells(rtu, "F") = shOLZ.Cells(i, "AO").Value
shOLB.Cells(rtu, "B") = shOLZ.Cells(i, "L").Value
shOLZ.Cells(i, "K").Font.ColorIndex = 10
shOLZ.Cells(i, "K").Font.Bold = True
shOLZ.Cells(i, "K").Font.Italic = True
rtu = rtu + 1
End If
End If
Next i
shOLZ.Protect "qq11"
shOLB.Protect "qq11"
End Sub
Wat ik graag voor elkaar zou krijgen is dat het kopiëren van gegevens van map "OLZ" naar de map "Doorloop" niet afhankelijk is van één criterium te weten
Code:
Set BPS = shOLB.Columns("E").Find(shOLZ.Cells(i, "k").Value, LookIn:=xlValues)
met andere woorden:
Indien in map "Doorloop" de combinatie van de naam (kolom A) en het nummer (kolom E) nog niet voorkomt, dan mag er gekopieerd worden van map OLZ naar map Doorloop.
In het bijgevoegde document wordt Naam 2 niet gekopieerd naar Doorloop omdat het bijbehorende nummer gelijk is aan het nummer bij Naam 1 en dat nummer staat al in de map Doorloop, er moet dus echter niet alleen gekeken worden naar het nummer maar naar de combinatie van de naam en het nummer. Naam 2 moet dus ook gekopieerd worden ondanks dat het nummer gelijk is. Komt de combinatie van de naam én het nummer al voor in de map Doorloop, dan mag er dus niet gekopieerd worden.
Ik hoop dat duidelijk is wat ik bedoel
Bij voorbaat alvast mijn dank voor jullie hulp.
Ruud