Risultati da 1 a 7 di 7

Discussione: Ricerca su più file Excel



  1. #1
    L'avatar di James
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Bari
    Messaggi
    35
    Versione Office
    2016 Mac
    Likes ricevuti
    0
    Likes dati
    0

    Ricerca su più file Excel

    Ciao, mi scuso per aver trasgredito il regolamento del forum, non capiterà più.

    Desideravo sapere se una maschera realizzata in VBA permette la ricerca di codice su più file Excel?

  2. #2
    L'avatar di James
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Bari
    Messaggi
    35
    Versione Office
    2016 Mac
    Likes ricevuti
    0
    Likes dati
    0
    Deduco che non sia possibile effettuare una ricerca di un determinato dato su più file excel tramite maschera? Grazie per l'attenzione.

  3. #3

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4024
    Versione Office
    2013
    Likes ricevuti
    1229
    Likes dati
    923
    Citazione Originariamente Scritto da James Visualizza Messaggio
    Deduco che non sia possibile effettuare una ricerca di un determinato dato su più file excel tramite maschera? Grazie per l'attenzione.
    Ciao James,
    io sinceramente non ho capito la tua richiesta...:58:
    Forse è solo per questo che non hai ricevuto risposte.

    Cerca di spiegare dettagliatamente quello che vorresti fare e se possibile allega un file, inserendo manualmente il risultato che vorresti ottenere.

    Tanto per essere chiari, credo che questa frase sia (per usare un eufemismo) "fuorviante" :
    ...permette la ricerca di codice su più file Excel?

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  4. #4
    L'avatar di James
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Bari
    Messaggi
    35
    Versione Office
    2016 Mac
    Likes ricevuti
    0
    Likes dati
    0
    Grazie cercherò di spiegarmi meglio. Desideravo sapere se realizzando una user form (maschera) mi permettesse di ricercare ad esempio un singolo dato non solo sul singolo file o cartella excel ma su un numero non definito di file excel (estensione xlsx).

    Ad esempio cerco il codice alfanumerico "AS34536FG", premesso che questo codice mi identifica un record in un file excel. Questa ricerca me la deve effettuare ad esempi su 100, 1000, 5000 file excel estensione (xlsx) presenti nella cartella prova, mi deve comparire il record dove è presente il dato ricercato e tutti gli altri dati della riga.

    Fatemi sapere se non sono stato chiaro. Grazie per l'attenzione

  5. #5

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4024
    Versione Office
    2013
    Likes ricevuti
    1229
    Likes dati
    923
    Ciao,
    si adesso è più chiaro ma sto scrivendo dal cell e non ho la possibilità di scriverti codici....
    Comunque, quello che ti serve è un codice non una UserForm (questa la potresti usare per "abbellire" il tutto).
    In linea generale è certamente possibile ma per controllare tutti i file che hai menzionato, il codice impiegherebbe un sacco di tempo.

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  6. #6
    L'avatar di James
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Bari
    Messaggi
    35
    Versione Office
    2016 Mac
    Likes ricevuti
    0
    Likes dati
    0
    Capisco e ti ringrazio per l'informazione, per adesso si parte da un numero pari 2 o 3 file, diciamo che in una visione da qui a qualche anno si arriverà a qualche centinaio di file xlsx. Se puoi e quando hai del tempo mi posti il codice, ti ringrazio tanto.

  7. #7

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4024
    Versione Office
    2013
    Likes ricevuti
    1229
    Likes dati
    923
    Ciao James,
    capisco che la tua era una domanda "innocente" ma per poter scrivere/provare i codici si deve avere dei file (conoscendone quindi la disposizione dei dati) su cui lavorare.
    Quindi (anche per la domanda più banale) è sempre meglio allegare dei file dove poter lavorare.
    Ti dico questo perchè ci ho messo più tempo a creare dei file con dei dati "plausibili" che a scrivere il codice :277:

    Ti allego il file "Ricerca su più File.xlsm", che è quello da dove farai partire il codice e un file zippato che contiene la cartella "ARCHIVIO FILE EXCEL" con 3 file all'interno, che sono quelli in cui il codice effettuerà la ricerca.
    La cartella "ARCHIVIO FILE EXCEL" mettila a questo percorso:

    D:\ARCHIVIO FILE EXCEL

    oppure mettila dove vuoi ma ricordati di modificare il percorso all'interno del codice. Così anche per le estensioni dei file...io ho usato file ".xlsx", se tu dovessi usare ad esempio dei file ".xls" ricordati di modificare l'estensione all'interno del codice.

    Dalla cella B2 del "Foglio1" del file "Ricerca su più File.xlsm" scegli il "codice" attraverso il menu a tendina e dopo clicca sul pulsante a fianco per la ricerca.

    Questo è il codice:

    Codice: 
    Sub Ricerca_Codice()
    Dim urFoglio As Long, Documento As Workbook, Codice As String
    Dim Nome As String, Riga As Long, Appoggio(1 To 10000000, 1 To 6), Percorso As String
    Dim Verifica As String, i As Long, Nomi_File() As String, j As Long, y As Long
    Dim Wkb_Base As Workbook, Wsh_Base As Worksheet, N_rigaMatr As Long
    Dim Inizio As Double
    
    
    Inizio = Timer
    Set Wkb_Base = ActiveWorkbook
    Percorso = "D:\ARCHIVIO FILE EXCEL\"            'Da modificare con il tuo percorso cartella
    Verifica = Dir(Percorso & "*.xlsx")             'Da modificare con l'estensione corretta
    
    
    If Verifica = "" Then                           'Controlla che ci siano file nella cartella
        MsgBox "Non ci sono file da esaminare"
        Exit Sub
    Else
        While Verifica <> ""                        'Estraggo i nomi dei file
        i = i + 1
            ReDim Preserve Nomi_File(1 To i)
            Nomi_File(i) = Verifica
            Verifica = Dir
        Wend
    End If
    Application.ScreenUpdating = False
    Codice = Wkb_Base.Worksheets("Foglio1").Range("B2").Value        'Codice da cercare
    N_rigaMatr = 1                                  'riga matrice
    
    
    For i = 1 To UBound(Nomi_File)                  'Apro il file ed eseguo la ricerca
        Workbooks.Open Percorso & Nomi_File(i)
        urFoglio = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
        For j = 2 To urFoglio
            If Cells(j, 1).Value = Codice Then          'copio i dati trovati nella matrice
                Appoggio(N_rigaMatr, 1) = Nomi_File(i)
                Appoggio(N_rigaMatr, 2) = j
                For y = 2 To 5
                    Appoggio(N_rigaMatr, y + 1) = Cells(j, y)
                Next y
                N_rigaMatr = N_rigaMatr + 1
            End If
        Next j
        ActiveWorkbook.Close SaveChanges:=False         'chiudo il file attivo
    Next i                                              'passo al prossimo file
    
    
    Wkb_Base.Worksheets("Foglio1").Activate
    If Range("A5").Value <> "" Then                     'controllo se ci sono dati vecchi da eliminare
        urFoglio = Range("A" & Rows.Count).End(xlUp).Row
        Range("A5:D" & urFoglio).ClearContents
    End If
    For i = 1 To N_rigaMatr - 1                         'copio i risultati nel foglio
        For j = 1 To 6
            Cells(i + 4, j).Value = Appoggio(i, j)
        Next j
    Next i
    Application.ScreenUpdating = True
    Set Wkb_Base = Nothing
    MsgBox "Ricerca effettuata in " & Timer - Inizio & " secondi."
    End Sub
    Come ti ho detto, più sono i file e più il codice aumenterà considerevolmente i tempi di esecuzione.

    P.S.
    Le righe della matrice Appoggio() le ho impostate a 10000000 in previsione di molti riscontri.... non potevo usare il metodo
    ReDim Preserve perchè avrei potuto cambiare solo l'ultima dimensione e quindi avrei dovuto usare un altro approccio.
    File Allegati File Allegati

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

Discussioni Simili

  1. Risposte: 6
    Ultimo Messaggio: 28/01/17, 21:58
  2. [Risolto] Ricerca di file Excel in una directory
    Di Cecco Beppe nel forum Domande su Excel VBA e MACRO
    Risposte: 6
    Ultimo Messaggio: 09/01/17, 13:28
  3. [Risolto] Stampare da un file excel fogli di lavoro presenti su un altro file excel
    Di Lorex nel forum Domande su Excel VBA e MACRO
    Risposte: 10
    Ultimo Messaggio: 09/12/16, 20:21
  4. Stampa unione da file Excel a file Excel
    Di Sandra nel forum Domande su Excel in generale
    Risposte: 10
    Ultimo Messaggio: 17/11/15, 17:46
  5. ricerca apertura file excel
    Di Stefano nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 03/11/15, 22:40

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •