Una macro come questa legge tutti i file contenuti in una directory e ne ricopia i Fogli all'interno del file che contiene la macro:
- Codice: Seleziona tutto
Sub shskraper()
Dim myPath As String, cWB As String, myCFile As String
Dim I As Long
'
myPath = "D:\PIPPO\" '<<< La directory che contiene i file da "risucchiare"
Application.EnableEvents = False
myCFile = Dir(myDir & "*.xls*")
Do
DoEvents
If myCFile = "" Then Exit Do
Workbooks.Open (myPath & myCFile)
cWB = ActiveWorkbook.Name
For I = 1 To ActiveWorkbook.Worksheets.Count
Workbooks(cWB).Sheets(I).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Next I
Workbooks(cWB).Close False
myCFile = Dir
Loop
Application.EnableEvents = True
MsgBox ("Completato...")
End Sub
La riga marcata <<< va personalizzata come da commenti
Quindi metterai gli N file da leggere nella directory specificata e poi avvii la macro.
Per evitare equivoci, nella directory che specifichi devono esserci solo i file che devi "risucchiare" ed eventualmente altri file ma non Excel; certamente non deve esserci il file che contiene la macro.
Fai sapere...