I am trying to loop through an entire folder, opening each file in the folder and getting data from the same seven cells in each file and filling a table with the data. The code I have below only takes me to select one file and then fills only the top row of the table.

Sub Data()
Set wb1 = ActiveWorkbook
ChDrive "F"
ChDir "F:\Stuff\SPECIAL PROJECTS\More Stuff\2018"
MsgBox ("Select file")
ret1 = Application.GetOpenFilename("Excel Files (*.xls*), *.xls*", _
, "Please select file")
If ret1 = False Then Exit Sub
Application.ScreenUpdating = False
Set wb2 = Workbooks.Open(ret1)
On Error Resume Next
wb1.Sheets("Sheet1").Range("B6").Value = wb2.Sheets("Sheet1").Range("C1").Value
wb1.Sheets("Sheet1").Range("C6").Value = wb2.Sheets("Sheet1").Range("C2").Value
wb1.Sheets("Sheet1").Range("D6").Value = wb2.Sheets("Sheet1").Range("C3").Value
wb1.Sheets("Sheet1").Range("E6").Value = wb2.Sheets("Sheet1").Range("E3").Value
wb1.Sheets("Sheet1").Range("F6").Value = wb2.Sheets("Sheet1").Range("C27").Value
wb1.Sheets("Sheet1").Range("G6").Value = wb2.Sheets("Sheet1").Range("D27").Value
wb1.Sheets("Sheet1").Range("H6").Value = wb2.Sheets("Sheet1").Range("E28").Value
wb2.Close savechanges:=False
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

In the code above, B6:H6 represent the top row of the table, while C1, C2, C3, E3, C27, D27, & E28 contain the data I wish to extract from each file in the folder. I need it to be able to fill the table without taking more than a minute (~400 files in folder).

Is there a simple way to do this? I was able to do it using a query, but it isn't as neat and clean as I would like.

I am using Excel 2016.