Io non sono in grado di collaudare il tutto su Mac; adattando il comando Dir all'ambiente Pc il comportamento e' come da attese.
Ho comunque visto che si tratta di importare circa 500 righe da ogni file, quindi bisogna estendere il calcolo della prima riga libera nel file di riepilogo.
Tra i tentativi alla cieca che possiamo fere per debuggare il problema che segnali, sostituisci la macro precedente con quest'altra:
- Codice: Seleziona tutto
Sub Accorpa2()
Dim myFile As String, destSh As Worksheet, myNext As Long, myFC As Long
Dim myPath, lastR As Long, lastC As Long, copySh As String
'
Set destSh = ThisWorkbook.Sheets("Foglio1") '<<< Il foglio in cui riepilogare
copySh = "Foglio1" '<<< Il foglio da copiare da ogni file
'
myPath = ThisWorkbook.Path '& Application.PathSeparator
destSh.Select
Application.EnableEvents = False
Application.DisplayAlerts = False
myFile = Dir(myPath, MacID("xlsm"))
'myFile = Dir(myPath & "\*.xls")
myPath = ThisWorkbook.Path & Application.PathSeparator
'Process files:
Do
DoEvents
If myFile = "" Then Exit Do
If myFile = ThisWorkbook.Name Then GoTo skiF
myNext = Evaluate("=max((A1:I50000 <> """")*(row(A1:A50000)))") + 1 '***
myFC = myFC + 1
Debug.Print myPath & myFile
Workbooks.Open (myPath & myFile)
Sheets(copySh).Select
lastR = Evaluate("=max((A1:I1000 <> """")*(row(A1:A1000)))") '***
lastC = Evaluate("=max((A1:I1000 <> """")*(column(A1:I1)))") '***
destSh.Cells(myNext, 1).Resize(lastR, lastC) = Range("A1").Resize(lastR, lastC).Value '***
ActiveWorkbook.Close False
skiF:
myFile = Dir
Loop
Application.EnableEvents = True
Application.DisplayAlerts = True
MsgBox ("Completato: " & myFC & " files")
End Sub
Contiene gia' la prima modifica di cui ti ho detto.
A fine macro il messaggio di "completato" dira' anche quanti file sono stati importati; inoltre se apri l'editor delle macro e premi Contr-g si aprira' la finestra "Immediata" che conterra' l'elenco dei file processati.
Se il file di destinazione continua a essere vuoto vedremo cosa fare, alla luce delle informazioni che il messaggio e la finestra Immediata ci danno.
Ciao