Vba: vlookup gebruiken vanaf een ander blad
U kunt de volgende basissyntaxis gebruiken om VLOOKUP uit te voeren vanaf een ander blad met behulp van VBA:
Sub Vlookup()
Range(" B2 ").Value = WorksheetFunction.Vlookup(Range(" A2 "), Sheets(" Sheet2 ").Range(" A2:C11 "),3,False)
End Sub
In dit specifieke voorbeeld wordt gezocht naar de waarde in cel A2 van het huidige blad in het bereik A2:C11 van het blad met de naam Blad2 en wordt de overeenkomende waarde gevonden in de derde kolom van het bereik, waarna het resultaat wordt toegewezen aan cel B2 van het huidige blad.
Opmerking : het laatste argument voor False geeft aan dat we een exacte overeenkomst willen.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: VLOOKUP gebruiken vanaf een ander blad in VBA
Stel dat we de volgende gegevensset hebben in een blad met de naam Blad2 in een Excel-werkmap die informatie bevat over verschillende basketbalspelers:
Laten we nu zeggen dat we naar het blad met de naam Blad1 gaan en dat we de teamnaam „Kings“ in de gegevensset van Blad2 willen vinden en de overeenkomstige waarde in de assists-kolom van Blad1 willen retourneren.
We kunnen hiervoor de volgende macro maken:
Sub Vlookup()
Range(" B2 ").Value = WorksheetFunction.Vlookup(Range(" A2 "), Sheets(" Sheet2 ").Range(" A2:C11 "),3,False)
End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
De macro retourneert correct een waarde van 3 assists voor de koningen.
Als we de teamnaam in cel A2 wijzigen en de macro vervolgens opnieuw uitvoeren, wordt de helperwaarde voor de nieuwe teamnaam correct gevonden.
Laten we bijvoorbeeld zeggen dat we de teamnaam wijzigen in ‚Warriors‘ en de macro opnieuw uitvoeren:
De macro retourneert correct een waarde van 4 assists voor de Warriors.
Opmerking : u kunt hier de volledige documentatie voor de VBA VLookup- methode vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:
VBA: indexmatching gebruiken
VBA: een blad sorteren op meerdere kolommen
VBA: hoe controleer je of een string een andere string bevat?