Ciao, ho creato una macro che mi apre tutti i file dentro la cartella x.
Ora posto il codice (che al momento fa il controllo solo su tutti gli sheet di un file xls), non so se però usando questo potrei fare un ciclo su tutte le cartelle aperte (o chiuse ma dubito) ed avere un risultato.
Al momento funziona su gli sheets di una sola cartella di exel.
Avrei bisogno che una volta aperti tutti i file XLS all'interno della cartella facesse una ricerca su ogni file XLS e mi desse un risultato
codice:Sub tabella() Dim totale, parziale, ultima As Long Dim i As Integer Dim foglio As Worksheet Worksheets("CERCA").Range("BOTT, cancella1").ClearContents ultima = Sheets("CERCA").Range("D65536").End(xlUp).Row totale = 0 i = 6 For Each foglio In ActiveWorkbook.Sheets If foglio.Name <> "CERCA" And foglio.Name <> "nome foglio" And foglio.Name <> "MASTER" Then parziale1 = Application.WorksheetFunction.SumIf(foglio.Range("$E$10:$G$26"), Range("CERCA!$I$6"), foglio.Range("$G$10:$G$26")) parziale2 = Application.WorksheetFunction.SumIf(foglio.Range("$E$30:$G$37"), Range("CERCA!$I$6"), foglio.Range("$G$30:$G$37")) If (parziale1 + parziale2) > 0 Then Sheets("CERCA").Range("G" & i).Value = foglio.Name Sheets("CERCA").Hyperlinks.Add Anchor:=Range("A" & i), Address:="", SubAddress:="'" & foglio.Name & "'!A9", ScreenTip:="Vai al foglio " & foglio.Name, TextToDisplay:=foglio.Name Sheets("CERCA").Range("E" & i).Value = parziale1 + parziale2 i = i + 1 End If End If Next foglio Sheets("CERCA").Range("E" & ultima).Formula = "=SUM(E6:E" & ultima - 1 & ")" MsgBox "Controllo Terminato", vbInformation End Sub

Rispondi quotando