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

Vlookup

Status
Niet open voor verdere reacties.

don42

Gebruiker
Lid geworden
25 apr 2014
Berichten
800
Hallo experts,

wie kan mij helpen aan een code die sorteert
ik heb
Code:
Range("c2:c289") = Application.WorksheetFunction.VLookup(Range("b2:B289"), Sheets("Rooster").Range("b2:r289"), 2, 0)
Range("d2:d289") = Application.WorksheetFunction.VLookup(Range("b2:B289"), Sheets("Rooster").Range("b2:r289"), 3, 0)
Range("e2:e289") = Application.WorksheetFunction.VLookup(Range("b2:B289"), Sheets("Rooster").Range("b2:r289"), 4, 0)
Range("f2:f289") = Application.WorksheetFunction.VLookup(Range("b2:B289"), Sheets("Rooster").Range("b2:r289"), 5, 0)
Range("g2:g289") = Application.WorksheetFunction.VLookup(Range("b2:B289"), Sheets("Rooster").Range("b2:r289"), 6, 0)
Range("h2:h289") = Application.WorksheetFunction.VLookup(Range("b2:B289"), Sheets("Rooster").Range("b2:r289"), 7, 0)
Range("i2:i289") = Application.WorksheetFunction.VLookup(Range("b2:B289"), Sheets("Rooster").Range("b2:r289"), 8, 0)
Range("j2:j289") = Application.WorksheetFunction.VLookup(Range("b2:B289"), Sheets("Rooster").Range("b2:r289"), 9, 0)
Range("k2:k289") = Application.WorksheetFunction.VLookup(Range("b2:B289"), Sheets("Rooster").Range("b2:r289"), 10, 0)
Range("l2:l289") = Application.WorksheetFunction.VLookup(Range("b2:B289"), Sheets("Rooster").Range("b2:r289"), 11, 0)
Range("m2:m289") = Application.WorksheetFunction.VLookup(Range("b2:B289"), Sheets("Rooster").Range("b2:r289"), 12, 0)
Range("n2:n289") = Application.WorksheetFunction.VLookup(Range("b2:B289"), Sheets("Rooster").Range("b2:r289"), 13, 0)
Range("o2:o289") = Application.WorksheetFunction.VLookup(Range("b2:B289"), Sheets("Rooster").Range("b2:r289"), 14, 0)
Range("p2:p289") = Application.WorksheetFunction.VLookup(Range("b2:B289"), Sheets("Rooster").Range("b2:r289"), 15, 0)
Range("q2:q289") = Application.WorksheetFunction.VLookup(Range("b2:B289"), Sheets("Rooster").Range("b2:r289"), 16, 0)
Range("r2:r289") = Application.WorksheetFunction.VLookup(Range("b2:B289"), Sheets("Rooster").Range("b2:r289"), 17, 0)
dat werkt prima
maar wil graag van die 289 af
dus dat het tot einde van de kolom gaat ook als ik iets toevoeg
heb dit geprobeerd
Code:
Sheets("rooster op naam").Range(Range("c2"), Range("c2").End(xlDown)).Value = Application.WorksheetFunction.VLookup(Sheets("rooster op naam").Range(Range("b2"), Range("b2").End(xlDown)).Value, Sheets("Rooster").Sheets("rooster op naam").Range(Range("b2"), Range("r2").End(xlDown)).Value, 2, 0)
en bij de laatste (tabel) wist het helemaal niet meer

wie weet het wel?

Don
 
Laatst bewerkt:
Wijzig de code in onderstaande.

Gr,

Joske

Code:
dim i as long
i =Range("c" & Rows.Count).End(xlUp).Row
Range("c2:c"&i) = Application.WorksheetFunction.VLookup(Range("b2:B"&i), Sheets("Rooster").Range("b2:r"&i), 2, 0)
 
Hallo Joske,
1 bedankt het werkt prima
maar toch een vraag als ik - Dim i as Long - weg laat
dan werkt het nog! hoe kan dat
 
Dan staat er bovenaan geen "Option Explicit" meer in je module, en hoef je niet te declareren.
 
Ik vind de vlookup er maar vreemd uitzien.
Als zoekwaarde wordt een bereik (meerdere cellen) gebruikt, terwijl vlookup 1 waarde vereist.
 
Inderdaad, was me niet eens opgevallen.
Komt omdat ik de laatst geplaatste berichten bovenaan heb staan, en heb niet eens gekeken naar de rest.
 
Ik heb je code niet echt bekeken, maar kun je niet werken met als range iets dergelijks:
Code:
Range("A1").CurrentRegion
Om te zien wat CurrentRegion is klik je in een cel van die lijst en typ je CTRL * (* op numeriek toetsenbord)

of

Je gebied een gedefinieerde naam geven, bvb. "Lijst" en daarna Invoegen Tabel (Insert Table), vanaf versie 2010.
Die naam wordt dan automatisch bijgewerkt als je gegevens toevoegt. Als Range gebruik je dan
Code:
Range("Lijst")
 
@zapatr, even geprikkeld (in positieve zin) door jouw opmerking. Is inderdaad vreemd maar het lijkt wel te werken. Ik had nog bestandje openstaan met een tabelletje en even getest. Even via de help gekeken: "Het argument zoekwaarde kan een waarde of een verwijzing zijn". Dus blijkbaar zit er nog een slimmigheid in VERT.ZOEKEN() De toegevoegde waarde kan ik nog even niet bedenken maar dat zal wel een ander topic worden?:d
 

Bijlagen

Ik zie helaas geen slimmigheid, alleen maar verwarring.

De zoekwaarde kan een waarde of een verwijzing zijn.
bv. het getal 188 of $L$4.

Wat wil je met een bereik in de zoekwaarde?
Het pakt toevallig de cel links van waar de formule staat.
 
Ik sorteer een rooster voor 87 chauffeur zo krijgt iedereen een eigen rooster op naam
heb 3 regels nodig per week
heb dat opgelost met bv 30- 30.1 -30.2 of 7 - 7.1 - 7.2
heb het allemaal werkend was er eigenlijk best trots op tot ik las dat de code vreemde of onnodige dingen laat zien
heb ook geen module gebruikt maar de code gewoon in het tabblad gezet
is dat niet de gebruikelijke manier van werken begrijp ik dat goed?
misschien wil iemand eens naar het geheel kijken
don
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan