Using a collection to copy the sheets may help. Here's the general outline...
HTH. DaveDim FSO As Object, FilDir As Object, ShtCollect As Collection Dim sht As Worksheet, cnt As Integer Set FSO = CreateObject("Scripting.FilesystemObject") Set FilDir = FSO.getfile("C:\yourfoldername\filename.xlsm") Workbooks.Open Filename:=FilDir 'load sheets in collection Set ShtCollect = New Collection For Each sht In Workbooks(FilDir.Name).Sheets ShtCollect.Add Workbooks(FilDir.Name).Sheets(sht.Name) Next sht 'copy collection sheets to wb For cnt = 1 To ShtCollect.Count ShtCollect(cnt).Copy ThisWorkbook.Sheets(cnt) Next cnt 'close wb Workbooks(FilDir.Name).Close SaveChanges:=False




Reply With Quote