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

Zoeken vergelijken en updaten?

Status
Niet open voor verdere reacties.

kaan

Gebruiker
Lid geworden
9 feb 2007
Berichten
189
Hoi Allen,

Op mijn werk hou ik een lijst bij met bepaalde gegevens en dat moet ik elke paar uur gaan updaten.
In begin voer ik de basis gegevens waarna ik dit update.

In de voorbeeld Excel file DO-Lijst heb ik de gegevens zitten wat ik gebruik om de (sheet) Lijst te updaten.

Wat ik dan wil is als vervolg:

Ik wil de unieke getallen op sheet DO-lijst kolom B met de getallen in sheet Lijst I7-I12-I17 ezv. vergelijken en als het gelijk is dan de ontbrekende gegeven updaten.

Wie kan mij hierbij helpen?

Kaan
 

Bijlagen

  • dep-test.xlsm
    70,7 KB · Weergaven: 29
Hallo kaan,

Nou is VBA niet helemaal mijn ding, maar probeer het eens met een voorbeeldbestandje waarvan de VBA sectie niet beveiligd is.
Misschien is dat de reden dat je geen reactie krijgt.

Succes,
 
Ups... sorry daar heb ik helemaal niet aan gedacht.

Nu inderdaad zonder VBA beveiliging.
 

Bijlagen

  • dep-test.xlsm
    71 KB · Weergaven: 21
zo iets?

Code:
Sub vergelijken()
With Sheets(2)
For Each cl In .Range("b:b").SpecialCells(2)
c01 = ""
Set r = Sheets(1).Range("i:i").Find(cl.Value)
c01 = r.Offset(0, -1).Value
c01 = c01 & "|" & r.Value
c01 = c01 & "|" & r.Offset(1, -1).Value
c01 = c01 & "|"
c01 = c01 & "|" & r.Offset(0, -7).Value
c01 = c01 & "|"
c01 = c01 & "|" & r.Offset(2, -1).Value
c01 = c01 & "|" & r.Offset(3, -7).Value
c01 = c01 & "|" & r.Offset(2, -7).Value
cl.Offset(0, -1).Resize(1, 9).Value = Split(c01, "|")
Next
End With
End Sub

Niels
 
Beste Niels,

Aller eerst bedankt dat je met me mee denkt.
Ik heb het verschillende malen geprobeerd maar de gegevens worden niet updated.

Enig idee waaraan het kan liggen?
 
Is er niemand die me hiermee kan helpen?
 
Blijkbaar iets fout gedaan want ik had gisterenmiddag al een antwoord gepost dus nog maar eens proberen.
 

Bijlagen

  • dep-test (1).xlsm
    48,5 KB · Weergaven: 20
Rudi,

Dit is exact wat ik zoek. Zo kan ik mijn lijsten zonder extra werk updaten.

Kun je mij ook vertellen hoe ik de eerste rij in de sheet D)-lijst (kolomkop1 kolomkop2 kolomkop3 kolomkop4 kolomkop5 kolomkop6 kolomkop7 kolomkop8 kolomkop9) kan wissen?

Als ik het het wis of overschrijf geeft het bestand een fout melding.
 
Laatst bewerkt:
Indien mogelijk zouden deze eigenlijk moeten blijven staan.
Ik gebruik Currentregion om het bereik te bepalen van de updategegevens. Daar zijn echter aaneengesloten kolommen er rijen voor nodig.
Aangezien je een lege kolom hebt (Kolom 4) moest ik het zo oplossen.
Als dit een probleem is moeten we op een andere manier het updatebereik bepalen.
 
Hi Ruud,

Ik begrijp het helemaal, wel moet ik melden dat, dat voor mij wel een probleem op gaat leveren omdat, ik platte tekst naar deze sheet moet kopiëren wat ik daarna door middel van Text to Columns verdeel en op de juiste volgorde zet.

Als je me daarmee nog kan helpen ben ik jou eeuwig dankbaar?
 
Gebruik deze dan, dan wordt de koprij programmatisch geplaatst voor het updaten en hoef je er geen rekening mee te houden.
Code:
Sub tst()
With Sheets(2)
    .Rows(1).Insert
    .Cells(1).Resize(, 9) = Split("Kop1, Kop1, Kop1, Kop1, Kop1, Kop1, Kop1, Kop1, Kop1", ",")
    sn = .Cells(1).CurrentRegion
End With
With Sheets(1)
sp = .Range("B7:L" & .Cells(Rows.Count, 9).End(xlUp).Row + 4)
End With
For i = 2 To UBound(sn)
    For ii = 1 To UBound(sp)
        If sn(i, 2) <> vbNullString And sn(i, 2) = sp(ii, 8) Then
            sp(ii, 2) = sn(i, 6)
            sp(ii + 2, 8) = sn(i, 7)
            sp(ii + 3, 1) = sn(i, 8)
            sp(ii + 2, 1) = sn(i, 9)
        End If
    Next
Next
Sheets(1).Cells(7, 2).Resize(UBound(sp), UBound(sp, 2)) = sp
'Sheets(2).Cells(1).Resize(UBound(sn), UBound(sn, 2)) = sn
End Sub
 
Hi Ruud,

Je bent geweldig.

Ik ga het verder uitwerken, duizend maal dank voor je hulp.

Mvg, Kaan
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan