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

Come cercare rapidamente un valore in più fogli o cartelle di lavoro?

Hai mai immaginato di cercare un determinato valore in più fogli o cartelle di lavoro in Excel? Questo tutorial introduce alcuni metodi diversi per risolvere i problemi relativi alla ricerca in più fogli o alla ricerca in più cartelle di lavoro.

Cerca un valore in più fogli di una cartella di lavoro con la funzione Trova e sostituisci

Cerca un valore in tutte le cartelle di lavoro di una cartella con VBA

Cerca rapidamente un valore su più cartelle di lavoro aperte con Kutools per Excel buona idea 3


Con Excel Trova e sostituisci funzione, puoi trovare un determinato valore su più fogli.

1. Selezionare più schede di fogli da cui si desidera trovare il valore tenendo premuto il tasto Ctrl e facendo clic sui fogli di lavoro nel file Barra delle schede del foglio uno per uno. Vedi screenshot:

valore di ricerca documento in più fogli 1

2. Quindi premere Ctrl + F per abilitare il Trova e sostituisci e digita il valore che desideri cercare nel file Trova quello che casella di testo sotto Trova Scheda, quindi fare clic su OK Trova tutto pulsante per elencare tutti i risultati. Vedi screenshot:

valore di ricerca documento in più fogli 2


Trova e sostituisci il valore tra fogli e cartelle di lavoro

Kutools for Excelè avanzato Trova e sostituisci , può aiutarti a trovare e sostituire un valore su più fogli e cartelle di lavoro aperte.  Scarica gratis
trova sostituire
 
Kutools per Excel: con più di 300 utili componenti aggiuntivi di Excel, liberi di provare senza limitazioni in 30 giorni.

Se vuoi cercare un valore in tutte le cartelle di lavoro chiuse da una cartella, puoi solo applicare un VBA per risolverlo.

1. Abilitare una nuova cartella di lavoro e selezionare una cella, quindi premere Alt + F11 chiavi per aprire Microsoft Visual per applicazioni di base finestra.

2. Clic inserire > Modulo e incolla sotto VBA nella nuova finestra del modulo.

VBA: cerca un valore in tutte le cartelle di lavoro di una cartella.

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. Quindi premere F5 chiave o Correre pulsante per eseguire questo VBA e un Seleziona una cartella viene visualizzata la finestra di dialogo per ricordare di selezionare una cartella da cui si desidera cercare il valore. Vedi screenshot:

valore di ricerca documento in più fogli 3

4. Quindi fare clic su OK e viene visualizzata un'altra finestra di dialogo per ricordarti che il numero di celle è stato trovato. Vedi screenshot:

valore di ricerca documento in più fogli 4

5. Clic OK a close e tutte le celle trovate sono elencate nel foglio di lavoro corrente con le informazioni corrispondenti.

valore di ricerca documento in più fogli 5

Mancia: In VBA sopra, cerchi il valore "KTE"e puoi cambiare "KTE" da questo xStrSearch = "KTE" a un altro valore di cui hai bisogno.


Se vuoi solo cercare un valore in più cartelle di lavoro aperte, puoi usare Kutools per Excel 'è avanzato Trova e sostituisci utilità.

Kutools for Excel, con oltre 300 funzioni utili, rende il tuo lavoro più facile. 

Dopo installazione gratuita Kutools per Excel, per favore fai come di seguito:

1. In una delle cartelle di lavoro aperte, fare clic su Kutools > Navigazionee quindi fare clic su Trova e sostituisci pulsante pulsante trova doc andare Trova e sostituisci Pannello. Vedi screenshot:

valore di ricerca documento in più fogli 6

2. Quindi fare clic Trova scheda e digita il valore che desideri cercare nel file Trova quello che casella di testo, quindi seleziona Tutte le cartelle di lavoro dal Nel quadro di elenco a discesa e vai a fare clic Trova tutto per elencare tutte le celle trovate. Vedi screenshot:
doc kutools trova sostituire 2

Mancia:

Con una lunga Kutools for Excelè avanzato Trova e sostituisci utility, puoi cercare e sostituire il valore nei fogli selezionati su più cartelle di lavoro, tutte le cartelle di lavoro, cartella di lavoro attiva, foglio attivo o selezione.
doc kutools trova sostituire 3


Articoli relativi:


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile distribuzione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce centinaia di clic del mouse ogni giorno!
fondo officetab
Commenti (18)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Grazie per quel VBA, funziona perfettamente per cercare più file excel, tuttavia è possibile farlo restituire una quinta colonna con numero di riferimento? Altro
xConteggio = xConteggio + 1
xRiga = xRiga + 1
.Cells(xRiga, 1) = xWb.Name
.Cells(xRiga, 2) = xWk.Name
.Cells(xRiga, 3) = xTrovato.Indirizzo
.Cells(xRiga, 4) = xTrovato.Valore
.Cells(xRiga, 5) = ???
Questo commento è stato fatto dal moderatore sul sito
Grazie per quel VBA, funziona perfettamente per cercare più file excel, tuttavia è possibile farlo restituire una quinta colonna con numero di riferimento? Altro
xConteggio = xConteggio + 1
xRiga = xRiga + 1
.Cells(xRiga, 1) = xWb.Name
.Cells(xRiga, 2) = xWk.Name
.Cells(xRiga, 3) = xTrovato.Indirizzo
.Cells(xRiga, 4) = xTrovato.Valore
.Cells(xRiga, 5) = ???
Questo commento è stato fatto dal moderatore sul sito
Questo è ciò che voglio che restituisca "Istruzioni del sito" che sono allocate a tutto il testo nella cella
Testo della cella del foglio di lavoro della cartella di lavoro nelle istruzioni del sito della cella
Report turni Emicc 01-10-17.xlsx Sheet1 $D$20 CMS install 1773
Report turni Emicc 01-10-17.xlsx Sheet1 $D$21 CMS install 1763
Report turni Emicc 01-10-17.xlsx Sheet1 $D$24 CMS install 1551
Questo commento è stato fatto dal moderatore sul sito
Grazie. Mi ha aiutato molto =)
Questo commento è stato fatto dal moderatore sul sito
Come posso aggiungere un'altra colonna e portare il valore che è sempre 3 colonne a destra sul valore trovato?
Questo commento è stato fatto dal moderatore sul sito
Mi dispiace non poterti aiutare, puoi andare nel nostro forum https://www.extendoffice.com/forum.html per portare avanti la domanda, forse qualcuno può aiutarti.
Questo commento è stato fatto dal moderatore sul sito
L'hai mai capito? Ho bisogno anche di quello.
Questo commento è stato fatto dal moderatore sul sito
Il tuo codice funziona benissimo, cerco un codice che trovi due testi nei file excel, sai come è possibile?
Questo commento è stato fatto dal moderatore sul sito
Scusa, non ho idea di questo problema, puoi andare sul nostro forum https://www.extendoffice.com/forum.html per portare avanti il ​​problema, forse qualcuno conosce la risposta.
Questo commento è stato fatto dal moderatore sul sito
Perfetto per quello che mi serve tranne per il fatto che crea un nuovo foglio ogni ricerca. Come modifico il codice per utilizzare un singolo foglio per ogni ricerca invece di crearne uno nuovo? Grazie, Giacomo
Questo commento è stato fatto dal moderatore sul sito
Fantastico, funziona perfettamente,
Potresti aiutarmi, vorrei creare un collegamento ipertestuale a ciascuna cella in cui è stato trovato il valore.

Grazie in anticipo
Questo commento è stato fatto dal moderatore sul sito
anche io vorrei! :)
Questo commento è stato fatto dal moderatore sul sito
como generale códigos qr
Questo commento è stato fatto dal moderatore sul sito
Come faccio a creare un collegamento ipertestuale nella colonna C per tutti i valori di cella nello stesso codice?
Questo commento è stato fatto dal moderatore sul sito
CIAO nel mio caso foglio di lavoro con più di 1 record di Lakh, script non riusciti.
Questo commento è stato fatto dal moderatore sul sito
Ciao, Dhireesh, il codice VBA ha i suoi limiti. Puoi provare Kutools per Trova e sostituisci di Excel, ma potrebbe funzionare lentamente, per favore sii paziente e faresti meglio a salvare le cartelle di lavoro prima.
Questo commento è stato fatto dal moderatore sul sito
il programma si ferma qui:

Imposta xWb = Workbooks.Open(Filename:=xStrPath & "\" & xStrFile, UpdateLinks:=0, ReadOnly:=True, AddToMRU:=False)
Questo commento è stato fatto dal moderatore sul sito
Ciao, Mike, ho aggiornato il VBA nell'articolo, per favore riprova. Se c'è qualche problema, per favore fatemelo sapere, grazie.
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite