Comment rechercher / trouver des valeurs dans un autre classeur?
Cet article explique comment rechercher des valeurs et renvoyer des données à partir d'un autre classeur, et comment rechercher / rechercher des valeurs à partir d'un autre classeur. Ici, je vais présenter trois solutions en détail.
- Données Vlookup et valeurs de retour d'un autre classeur dans Excel
- Données Vlookup et valeurs de retour d'un autre classeur fermé avec VBA
Données Vlookup et valeurs de retour d'un autre classeur dans Excel
Par exemple, vous créez une table d'achat de fruits dans Excel, et vous devez maintenant rechercher les fruits d'un autre classeur et renvoyer les prix correspondants comme illustré ci-dessous. Ici, je vais vous guider pour le résoudre avec la fonction VLOOKKUP dans Excel.
1. Ouvrez les deux classeurs dans lesquels vous allez rechercher les valeurs et les renvoyer.
2. Sélectionnez une cellule vide, vous retournerez le prix, tapez la formule = RECHERCHEV (B2, [Price.xlsx] Sheet1! $ A $ 1: $ B $ 24,2, FALSE) dedans, puis faites glisser sa poignée de remplissage pour appliquer cette formule à la plage selon vos besoins.
Florales:
(1) Dans la formule ci-dessus, B2 est le fruit que vous rechercherez dans un autre classeur, Price.xlsx indique le nom de fichier du classeur à partir duquel vous rechercherez, Sheet1 signifie le nom de la feuille à partir de laquelle vous rechercherez et A $ 1 : $ B $ 24 est la plage à partir de laquelle vous rechercherez. Vous pouvez les changer selon vos besoins.
(2) Après avoir fermé le classeur que vous avez recherché, la formule sera automatiquement mise à jour = RECHERCHEV (B2, 'W: \ test \ [Price.xlsx] Sheet1'! $ A $ 1: $ B $ 24,2, FALSE), le W: \ test \ est le chemin d'enregistrement du classeur que vous avez recherché.
Jusqu'à présent, tous les prix sont retournés correctement comme illustré à gauche. Et ces prix seront mis à jour automatiquement si le classeur d'origine vous a recherché des modifications.
La formule est trop compliquée à retenir? Enregistrez la formule en tant qu'entrée de texte automatique pour la réutiliser en un seul clic à l'avenir! Lire la suite... Essai gratuit |
Débloquez Excel Magic avec Kutools AI
- Exécution intelligente: effectuez des opérations sur les cellules, analysez les données et créez des graphiques, le tout piloté par des commandes simples.
- Formules personnalisées: Générez des formules sur mesure pour rationaliser vos flux de travail.
- Codage VBA: Écrivez et implémentez du code VBA sans effort.
- Interprétation de la formule: Comprendre facilement des formules complexes.
- Traduction de texte: Brisez les barrières linguistiques dans vos feuilles de calcul.
Données Vlookup et valeurs de retour d'un autre classeur fermé avec VBA
Il peut être difficile de configurer le chemin d’enregistrement, le nom de fichier et la feuille de calcul dans la fonction RECHERCHEV. Cette méthode introduira un VBA pour le résoudre facilement.
1. appuie sur le autre + F11 touches pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez sur l' insérer > Module, puis collez ci-dessous le code VBA dans la fenêtre du module d'ouverture.
VBA: données Vlookup et valeurs de retour d'un autre classeur fermé
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
Notes: Ce VBA renverra des valeurs dans une colonne qui est 2 colonnes derrière la colonne sélectionnée. Par exemple, je sélectionne la colonne B lors de l'application de ce VBA, les valeurs seront renvoyées dans la colonne D. Si vous devez modifier la colonne de destination, veuillez trouver le code xRg.Offset (0, 2) .Formula = xString & GetColumn (xFCell.Column + 1) & "$" & xFCell.Row et remplacez 2 à un autre numéro selon vos besoins. 3. appuie sur le F5 ou cliquez sur la Courir bouton pour exécuter ce VBA.
4. Dans la boîte de dialogue d'ouverture, spécifiez la plage de données que vous recherchez, puis cliquez sur le bouton OK .
5. Sélectionnez maintenant le classeur dans lequel vous rechercherez les valeurs dans la boîte de dialogue d'ouverture Sélectionner un classeur, puis cliquez sur le bouton Ouvert .
Désormais, toutes les valeurs sélectionnées sont recherchées dans le classeur fermé spécifié et les valeurs correspondantes sont renvoyées dans la colonne spécifiée. Voir la capture d'écran:
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!