Hoe zoekt u waarden op in een ander werkboek?
Dit artikel gaat over het opzoeken van waarden en het terugbrengen van gegevens uit een ander werkboek, en hoe u waarden kunt vinden/zoeken in een ander werkboek. Hier introduceer ik drie gedetailleerde oplossingen.
- Gegevens opzoeken en waarden retourneren uit een ander werkboek in Excel
- Gegevens opzoeken en waarden retourneren uit een ander gesloten werkboek met VBA
Gegevens opzoeken en waarden retourneren uit een ander werkboek in Excel
Stel dat u bijvoorbeeld een Fruit Aankoop tabel maakt in Excel, en nu moet u de fruitsoorten opzoeken uit een ander werkboek en de bijbehorende prijzen retourneren zoals te zien is in onderstaande schermafbeeldingen. Hier zal ik u begeleiden bij het oplossen hiervan met de VLOOKUP-functie in Excel.
1. Open beide werkboeken waaruit u waarden wilt opzoeken en waarden wilt retourneren.
2. Selecteer een lege cel waarin u de prijs wilt retourneren, typ de formule =VLOOKUP(B2,[Price.xlsx]Sheet1!$A$1:$B$24,2,FALSE) daarin, en sleep vervolgens de vulgreep om deze formule toe te passen op het bereik zoals u nodig hebt.

Opmerkingen:
(1) In bovenstaande formule is B2 het fruit dat u wilt opzoeken uit een ander werkboek, Price.xlsx geeft de bestandsnaam aan van het werkboek waaruit u wilt zoeken, Sheet1 betekent de naam van het werkblad waaruit u wilt zoeken, en A$1:$B$24 is het bereik waaruit u wilt zoeken. U kunt ze naar behoefte wijzigen.
(2) Nadat u het werkboek waaruit u hebt gezocht hebt gesloten, wordt de formule automatisch bijgewerkt naar =VLOOKUP(B2,'W:\test\[Price.xlsx]Sheet1'!$A$1:$B$24,2,FALSE), W:\test\ is het opslagpad van het werkboek waaruit u hebt gezocht.
Tot nu toe zijn alle prijzen correct geretourneerd zoals te zien is in de linker schermafbeelding. En deze prijzen worden automatisch bijgewerkt als het originele werkboek waaruit u hebt gezocht verandert.
![]() | Formule te ingewikkeld om te onthouden? Sla de formule op als een AutoTekst-item om in de toekomst met slechts één klik te hergebruiken! Lees meer… Gratis proefversie |

Ontdek de Magie van Excel met Kutools AI
- Slimme Uitvoering: Voer celbewerkingen uit, analyseer gegevens en maak diagrammen – allemaal aangestuurd door eenvoudige commando's.
- Aangepaste Formules: Genereer op maat gemaakte formules om uw workflows te versnellen.
- VBA-codering: Schrijf en implementeer VBA-code moeiteloos.
- Formule-uitleg: Begrijp complexe formules gemakkelijk.
- Tekstvertaling: Overbrug taalbarrières binnen uw spreadsheets.
Gegevens opzoeken en waarden retourneren uit een ander gesloten werkboek met VBA
Het kan een beetje verwarrend zijn om het opslagpad, de bestandsnaam en het werkblad in de VLOOKUP-functie in te stellen. Deze methode introduceert een VBA om dit gemakkelijk op te lossen.
1. Druk op de Alt + F11 toetsen om het Microsoft Visual Basic for Applications-venster te openen.
2. Klik op Invoegen > Module, en plak vervolgens onderstaande VBA-code in het geopende modulevenster.
VBA: Gegevens opzoeken en waarden retourneren uit een ander gesloten werkboek
Private Function GetColumn(Num As Integer) As String
If Num <= 26 Then
GetColumn = Chr(Num + 64)
Else
GetColumn = Chr((Num - 1) \ 26 + 64) & Chr((Num - 1) Mod 26 + 65)
End If
End Function
Sub FindValue()
Dim xAddress As String
Dim xString As String
Dim xFileName As Variant
Dim xUserRange As Range
Dim xRg As Range
Dim xFCell As Range
Dim xSourceSh As Worksheet
Dim xSourceWb As Workbook
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xUserRange = Application.InputBox("Lookup values :", "Kutools for Excel", xAddress, Type:=8)
If Err <> 0 Then Exit Sub
Set xUserRange = Application.Intersect(xUserRange, Application.ActiveSheet.UsedRange)
xFileName = Application.GetOpenFilename("Excel Files (*.xlsx), *.xlsx", 1, "Select a Workbook")
If xFileName = False Then Exit Sub
Application.ScreenUpdating = False
Set xSourceWb = Workbooks.Open(xFileName)
Set xSourceSh = xSourceWb.Worksheets.Item(1)
xString = "='" & xSourceWb.Path & Application.PathSeparator & _
"[" & xSourceWb.Name & "]" & xSourceSh.Name & "'!$"
For Each xRg In xUserRange
Set xFCell = xSourceSh.Cells.Find(xRg.Value, , xlValues, xlWhole, , , False)
If Not (xFCell Is Nothing) Then
xRg.Offset(0, 2).Formula = xString & GetColumn(xFCell.Column + 1) & "$" & xFCell.Row
End If
Next
xSourceWb.Close False
Application.ScreenUpdating = True
End Sub
Opmerking: Deze VBA retourneert waarden in een kolom die 2 kolommen achter de geselecteerde kolom ligt. Bijvoorbeeld, als ik kolom B selecteer bij het toepassen van deze VBA, zullen waarden in kolom D geretourneerd worden. Als u de doelkolom wilt wijzigen, zoek dan de code xRg.Offset(0, 2).Formula = xString & GetColumn(xFCell.Column + 1) & "$" & xFCell.Row op, en vervang 2 door een ander nummer naar uw behoefte. 3. Druk op de F5 -toets of klik op de Uitvoeren-knop om deze VBA uit te voeren.
4. Geef in het dialoogvenster dat wordt geopend het gegevensbereik op waarin u wilt zoeken, en klik op de OK knop.
5. Selecteer nu het werkboek waarin u waarden wilt opzoeken in het geopende Selecteer een Werkboek-dialoogvenster, en klik op de Openen knop.
Nu zijn alle geselecteerde waarden opgezocht in het gespecificeerde gesloten werkboek, en worden de bijbehorende waarden geretourneerd in de gespecificeerde kolom. Zie schermafbeelding:
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!