Hvordan opslag / find værdier i en anden projektmappe?
Denne artikel taler om, hvordan man kan slå op på værdier og returnere data fra en anden projektmappe, og hvordan man finder / søger værdier fra en anden projektmappe. Her vil jeg introducere tre løsninger i detaljer.
- Vlookup-data og returner værdier fra en anden projektmappe i Excel
- Vlookup-data og returner værdier fra en anden lukket projektmappe med VBA
Vlookup-data og returner værdier fra en anden projektmappe i Excel
For eksempel opretter du en frugtkøbstabel i Excel, og nu skal du opflege frugterne fra en anden projektmappe og returnere tilsvarende priser som vist nedenstående skærmbilleder. Her vil jeg guide dig til at løse det med VLOOKKUP-funktionen i Excel.
1. Åbn begge projektmapper, som du vil oprette værdier fra, og returnere værdier i.
2. Vælg en tom celle, du vil returnere pris, skriv formlen = VLOOKUP (B2, [Price.xlsx] Sheet1! $ A $ 1: $ B $ 24,2, FALSE) ind i det, og træk derefter fyldhåndtaget for at anvende denne formel i området, som du har brug for.
Noter:
(1) I ovenstående formel er B2 den frugt, som du vil slå op fra en anden projektmappe, Price.xlsx angiver filnavnet på projektmappen, du vil slå op fra, Ark1 betyder arknavnet, som du vil slå op fra, og A $ 1 : $ B $ 24 er det interval, som du vil se op fra. Du kan ændre dem efter behov.
(2) Efter at have lukket den projektmappe, du kiggede op fra, opdateres formlen automatisk til = VLOOKUP (B2, 'W: \ test \ [Price.xlsx] Sheet1'! $ A $ 1: $ B $ 24,2, FALSE), W: \ test \ er den gemte sti til projektmappen, som du har kigget op fra.
Indtil videre er alle priser returneret korrekt som det viste skærmbillede til venstre. Og disse priser opdateres automatisk, hvis den oprindelige projektmappe, du har slået op fra, ændres.
Formel er for kompliceret til at huske? Gem formlen som en automatisk tekstindgang til genbrug med kun et klik i fremtiden! Læs mere… Gratis prøveversion |
Vlookup-data og returner værdier fra en anden lukket projektmappe med VBA
Det kan være et kuld forvirret at konfigurere lagringsstien, filnavnet og regnearket i VLOOKUP-funktionen. Denne metode introducerer en VBA for at løse det let.
1. Tryk på andre + F11 taster for at åbne vinduet Microsoft Visual Basic for Applications.
2. Klik på indsatte > Moduler, og indsæt derefter under VBA-kode i åbningsmodulvinduet.
VBA: Vlookup-data og returnerer værdier fra en anden lukket projektmappe
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
Bemærk: Denne VBA returnerer værdier i en kolonne, der er 2 kolonner bag den valgte kolonne. For eksempel vælger jeg kolonne B, når jeg anvender denne VBA, værdier vender tilbage i kolonne D. Hvis du har brug for at ændre destinationskolonnen, skal du finde ud af koden xRg.Offset (0, 2). Formel = xString & GetColumn (xFCell.Column + 1) & "$" & xFCell.Row og udskift 2 til et andet nummer, som du har brug for.
3. Tryk på F5 eller klik på Kør knap for at køre denne VBA.
4. I åbningsdialogboksen skal du angive det dataområde, du vil slå op, og klikke på OK .
5. Vælg venligst den projektmappe, hvor du vil slå værdier op i dialogboksen Vælg en projektmappe, og klik på Åbne .
Nu bliver alle valgte værdier slået op i den specificerede lukkede projektmappe, og tilsvarende værdier returneres i den angivne kolonne. Se skærmbillede:
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!