Note: The other languages of the website are Google-translated. Back to English

Hur söker jag snabbt efter ett värde i flera ark eller arbetsböcker?

Har du någonsin avbildat för att söka efter ett visst värde i flera ark eller arbetsböcker i Excel? Denna handledning introducerar några olika metoder för att lösa problemen med att söka i flera ark eller söka i flera arbetsböcker.

Sök efter ett värde i flera ark i en arbetsbok med funktionen Sök och ersätt

Sök efter ett värde i alla arbetsböcker i en mapp med VBA

Sök snabbt efter ett värde i flera öppnade arbetsböcker med Kutools för Excel bra idé3


Med Excel Sök och ersätt funktion kan du hitta ett visst värde över flera ark.

1. Välj flera arkflikar som du vill hitta värde genom att hålla ned ctrl och klicka på kalkylbladet i Tabellfält en och en. Se skärmdump:

doc-sökvärde i flera ark 1

2. Tryck sedan på Ctrl + F för att aktivera Sök och ersätt och skriv det värde du vill söka i Hitta det textruta under hitta fliken och klicka sedan på Hitta alla knappen för att lista alla resultat. Se skärmdump:

doc-sökvärde i flera ark 2


Hitta och ersätt värde över ark och arbetsböcker

Kutools för Excelär avancerad Sök och ersätt funktion, kan hjälpa dig att hitta och ersätta ett värde över flera ark och öppnade arbetsböcker.  Gratis nedladdning
hitta ersätt
 
Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsningar i 30 dagar.

Om du vill söka efter ett värde i alla stängda arbetsböcker från en mapp kan du bara använda en VBA för att lösa det.

1. Aktivera en ny arbetsbok och välj en cell och tryck sedan på Alt + F11 nycklar för att öppna Microsoft Visual för grundläggande applikationer fönster.

2. klick Insert > Modulerna och klistra in under VBA i det nya modulfönstret.

VBA: Sök efter ett värde i alla arbetsböcker i en mapp.

Sub SearchFolders()
'UpdatebyKutoolsforExcel20200913
    Dim xFso As Object
    Dim xFld As Object
    Dim xStrSearch As String
    Dim xStrPath As String
    Dim xStrFile As String
    Dim xOut As Worksheet
    Dim xWb As Workbook
    Dim xWk As Worksheet
    Dim xRow As Long
    Dim xFound As Range
    Dim xStrAddress As String
    Dim xFileDialog As FileDialog
    Dim xUpdate As Boolean
    Dim xCount As Long
    Dim xAWB As Workbook
    Dim xAWBStrPath As String
    Dim xBol As Boolean
    Set xAWB = ActiveWorkbook
    xAWBStrPath = xAWB.Path & "\" & xAWB.Name
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a forlder"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    xStrSearch = "KTE"
    xUpdate = Application.ScreenUpdating
    Application.ScreenUpdating = False
    Set xOut = Worksheets.Add
    xRow = 1
    With xOut
        .Cells(xRow, 1) = "Workbook"
        .Cells(xRow, 2) = "Worksheet"
        .Cells(xRow, 3) = "Cell"
        .Cells(xRow, 4) = "Text in Cell"
        Set xFso = CreateObject("Scripting.FileSystemObject")
        Set xFld = xFso.GetFolder(xStrPath)
        xStrFile = Dir(xStrPath & "\*.xls*")
        Do While xStrFile <> ""
            xBol = False
            If (xStrPath & "\" & xStrFile) = xAWBStrPath Then
                xBol = True
                Set xWb = xAWB
            Else
                Set xWb = Workbooks.Open(Filename:=xStrPath & "\" & xStrFile, UpdateLinks:=0, ReadOnly:=True, AddToMRU:=False)
            End If
            For Each xWk In xWb.Worksheets
                If xBol And (xWk.Name = .Name) Then
                Else
                Set xFound = xWk.UsedRange.Find(xStrSearch)
                If Not xFound Is Nothing Then
                    xStrAddress = xFound.Address
                End If
                Do
                    If xFound Is Nothing Then
                        Exit Do
                    Else
                        xCount = xCount + 1
                        xRow = xRow + 1
                        .Cells(xRow, 1) = xWb.Name
                        .Cells(xRow, 2) = xWk.Name
                        .Cells(xRow, 3) = xFound.Address
                        .Cells(xRow, 4) = xFound.Value
                    End If
                    Set xFound = xWk.Cells.FindNext(After:=xFound)
                Loop While xStrAddress <> xFound.Address
                End If
            Next
            If Not xBol Then
            xWb.Close (False)
            End If
            xStrFile = Dir
        Loop
        .Columns("A:D").EntireColumn.AutoFit
    End With
    MsgBox xCount & " cells have been found", , "Kutools for Excel"
ExitHandler:
    Set xOut = Nothing
    Set xWk = Nothing
    Set xWb = Nothing
    Set xFld = Nothing
    Set xFso = Nothing
    Application.ScreenUpdating = xUpdate
    Exit Sub
ErrHandler:
    MsgBox Err.Description, vbExclamation
    Resume ExitHandler
End Sub

3. Tryck sedan på F5 nyckel eller run knappen för att utföra denna VBA, och a Välj en mapp dialogrutan dyker upp för att påminna dig om att välja en mapp som du vill söka värde från. Se skärmdump:

doc-sökvärde i flera ark 3

4. Och klicka sedan på OK och en annan dialog dyker upp för att påminna dig om att antalet celler har hittats. Se skärmdump:

doc-sökvärde i flera ark 4

5. klick OK till stäng det, och alla de hittade cellerna är listade i det aktuella kalkylbladet med motsvarande information.

doc-sökvärde i flera ark 5

Dricks: I ovanstående VBA söker du värdet "KTE", och du kan ändra "KTE" från detta xStrSearch = "KTE" till ett annat värde som du behöver.


Om du bara vill söka efter ett värde i flera öppnade arbetsböcker kan du använda det Kutools för Excel 's avancerad Sök och ersätt verktyg.

Kutools för Excel, med mer än 300 praktiska funktioner, gör dina jobb enklare. 

Efter gratis installation Kutools för Excel, gör så här:

1. Klicka på i en av de öppnade arbetsböckerna Kutools > Navigering, och klicka sedan på Sök och ersätt Knappen doc hitta-knapp att gå till Sök och ersätt ruta. Se skärmdump:

doc-sökvärde i flera ark 6

2. Klicka sedan hitta och skriv det värde du vill söka i Hitta det textruta och välj sedan Alla arbetsböcker från Inom rullgardinsmenyn och klicka för att klicka Hitta alla för att lista alla hittade celler. Se skärmdump:
doc kutools hitta ersätt 2

Dricks:

Med Kutools för Excelär avancerad Sök och ersätt verktyget kan du söka och ersätta värde i valda ark över flera arbetsböcker, alla arbetsböcker, aktiv arbetsbok, aktivt ark eller markering.
doc kutools hitta ersätt 3


Relativa artiklar:


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (18)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Tack för den VBA, det fungerar perfekt att söka i flera excel-filer, men det är möjligt att få det att returnera en 5:e kolumn med referensnummer? Annan
xCount = xCount + 1
xRow = xRow + 1
.Cells(xRow, 1) = xWb.Name
.Cells(xRow, 2) = xWk.Name
.Cells(xRow, 3) = xFound.Address
.Cells(xRow, 4) = xFound.Value
.Cells(xRow, 5) = ???
Denna kommentar minimerades av moderatoren på webbplatsen
Tack för den VBA, det fungerar perfekt att söka i flera excel-filer, men det är möjligt att få det att returnera en 5:e kolumn med referensnummer? Annan
xCount = xCount + 1
xRow = xRow + 1
.Cells(xRow, 1) = xWb.Name
.Cells(xRow, 2) = xWk.Name
.Cells(xRow, 3) = xFound.Address
.Cells(xRow, 4) = xFound.Value
.Cells(xRow, 5) = ???
Denna kommentar minimerades av moderatoren på webbplatsen
Detta är vad jag vill att den ska returnera "Site Instruction" som allokeras till all text i cell
Arbetsbok Arbetsblad Celltext i cellplatsinstruktion
Skiftrapport Emicc 01-10-17.xlsx Sheet1 $D$20 CMS installation 1773
Skiftrapport Emicc 01-10-17.xlsx Sheet1 $D$21 CMS installation 1763
Skiftrapport Emicc 01-10-17.xlsx Sheet1 $D$24 CMS installation 1551
Denna kommentar minimerades av moderatoren på webbplatsen
Tack. Det hjälpte mig mycket =)
Denna kommentar minimerades av moderatoren på webbplatsen
Hur kan jag lägga till ytterligare en kolumn och föra värdet som alltid är 3 kolumner till höger om det hittade värdet?
Denna kommentar minimerades av moderatoren på webbplatsen
Tyvärr kan jag inte hjälpa dig, du kan gå till vårt forum https://www.extendoffice.com/forum.html för att fortsätta frågan kanske någon kan hjälpa dig.
Denna kommentar minimerades av moderatoren på webbplatsen
Har du någonsin kommit på det här? Det behöver jag också.
Denna kommentar minimerades av moderatoren på webbplatsen
Din kod fungerar utmärkt, jag letar efter en kod som hittar två texter i excel-filer, vet du hur det är möjligt?
Denna kommentar minimerades av moderatoren på webbplatsen
Tyvärr, jag har ingen aning om detta problem, du kan gå till vårt forum https://www.extendoffice.com/forum.html för att fortsätta problemet, kanske någon vet svaret.
Denna kommentar minimerades av moderatoren på webbplatsen
Perfekt för det jag behöver förutom det faktum att det skapar ett nytt ark varje sökning. Hur skulle jag ändra koden för att använda ett enda ark för varje sökning istället för att skapa ett nytt? Tack, James
Denna kommentar minimerades av moderatoren på webbplatsen
Fantastiskt detta fungerar perfekt,
Kan du hjälpa mig, jag skulle vilja skapa en hyperlänk till varje cell där värdet hittades.

Tack på förhand
Denna kommentar minimerades av moderatoren på webbplatsen
jag också jag skulle vilja! :)
Denna kommentar minimerades av moderatoren på webbplatsen
como generar códigos qr
Denna kommentar minimerades av moderatoren på webbplatsen
Hur skapar jag hyperlänk under kolumn C för alla cellvärden i samma kod?
Denna kommentar minimerades av moderatoren på webbplatsen
HI i mitt fall arbetsblad med mer än 1 lakhs post, skript misslyckades.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, Dhireesh, VBA-koden har sin egen begränsning. Du kan prova Kutools för Excels Fiind and Replace, men det kan köras långsamt, ha tålamod och det är bättre att spara arbetsböckerna innan.
Denna kommentar minimerades av moderatoren på webbplatsen
programmet slutar här:

Ställ in xWb = Workbooks.Open(Filnamn:=xStrPath & "\" & xStrFile, UpdateLinks:=0, ReadOnly:=True, AddToMRU:=False)
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, Mike, jag har uppdaterat VBA i artikeln, försök igen. Om det finns något problem, vänligen meddela mig, tack.
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL