One last try...
Sub OpenFiles_and_CopyData5()
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
Dim wbM As Workbook, wsM As Worksheet, lRowM As Long
Dim wb As Workbook, ws As Worksheet
Dim lCol As Long, lRow As Long, rg As Range
Dim sFiles As Variant, i As Long
Set wbM = Workbooks.Add
wbM.SaveAs "Master.xlsx", 51
Set wsM = wbM.Worksheets(1)
sFiles = Application.GetOpenFilename(FileFilter:="CSV Files (*.csv), *.csv", MultiSelect:=True)
For i = LBound(sFiles) To UBound(sFiles)
Set wb = Workbooks.Open(sFiles(i), ReadOnly:=True)
Set ws = wb.ActiveSheet
lRow = ws.Cells(1, 3).End(xlDown).Row
ws.Range("C6:C" & lRow).Value = Evaluate(Replace("if(isnumber(@),@)", "@", ws.Range("C6:C" & lRow).Address))
lCol = ws.Cells(6, 1).End(xlToRight).Column
ws.Range(ws.Cells(6, 1), ws.Cells(6, lCol)).Copy wsM.Cells(1, 1)
lRowM = wsM.Cells(wsM.Rows.count, 1).End(xlUp).Row + 1
Set rg = ws.Range(Cells(1, 1), Cells(lRow, lCol))
Set rg = rg.Offset(6).Resize(rg.Rows.count - 6)
With rg
.AutoFilter 3, "<>False"
.SpecialCells(12).Copy wsM.Cells(lRowM, 1)
End With
wb.Close False
Next i
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
End Sub
Bookmarks