Sorry, I would normally comment the code for posters to learn from, but I was rushed when posting this

Here it is with some comments. Any other questions feel free to ask

' This makes Excel REQUIRE you to DIM each variable before you use it.
Option Explicit
Sub Get_the_rows()

' Define a constant detailing which folder to look in
Const FOLDER_TO_LOOK_IN = "C:\My Excel Files"

' Define the variables we are going to use
Dim Input_Path As String, Input_File As String
Dim Output_Row As Long
Dim input_wb As Workbook, input_ws As Worksheet
Dim oldCalcMethod As Long

' Make sure that the folder to look in ends with the '\' character. If not then add it.
If Right(FOLDER_TO_LOOK_IN, 1) <> "\" Then
    Input_Path = FOLDER_TO_LOOK_IN & "\"
Else
    Input_Path = FOLDER_TO_LOOK_IN
End If

' Switch off ScreenUpdating and set the calculation method to manual.
' This speeds up Excel and will stop the screen flickering
Application.ScreenUpdating = False
oldCalcMethod = Application.Calculation
Application.Calculation = xlCalculationManual

' With the first worksheet in our workbook.
With Worksheets(1)
    ' Store the row number of the last used row, +1...
    Output_Row = .UsedRange.Rows.Count + 1
    ' ...if that puts you on row 2 then check whether row 1 is blank, if it is use row 1 instead.
    If Output_Row = 2 And WorksheetFunction.CountA(.Rows(1)) = 0 Then Output_Row = 1
    
    ' Look for a file in the directory, that is an ".xls" file
    Input_File = Dir(Input_Path & "*.xls")
    
    ' If there was a file, 'Input_File' will now have that name, otherwise it will be empty (ie. "")
    ' So while we have a name, and we have space left to put the results, do a loop of the following commands
    Do While Input_File <> "" And Output_Row < .Rows.Count
        
        ' If we encounter an error, (such as no 'Sheet1' in the XLS file), just carry on
        On Error Resume Next
        
        ' Set 'input_wb' to Nothing, then try to open the first XLS file, and set input_wb to it..
        Set input_wb = Nothing
        Set input_wb = Workbooks.Open(Input_Path & Input_File)
        
        ' If the file didn't open properly then "input_wb" will still be 'Nothing', otherwise do the following code.
        If Not input_wb Is Nothing Then
        
            ' Set 'input_ws' to Nothing, then try to set it to a worksheet named "Sheet1"..
            Set input_ws = Nothing
            Set input_ws = input_wb.Worksheets("Sheet1")
            
            ' If there is no "Sheet1" then input_ws will still be nothing, otherwise do the following code.
            If Not input_ws Is Nothing Then
            
                ' Select row 2 of the worksheet, and copy it to the first empty row on the 'summary' worksheet
                input_ws.Rows(2).Copy Destination:=.Rows(Output_Row)
                
                ' As we have now used a row on the summary worksheet, increment the 'empty row' marker
                Output_Row = Output_Row + 1
            End If
        End If
        
        ' Close the file we copied the row from, but don't save any changes, (not that we made any to it, but just in case!).
        input_wb.Close savechanges:=False
        
        ' Set Input_File to the next ".xls" file, (or to "" if there are no more)
        Input_File = Dir()
        On Error GoTo 0
    
    ' Go back to the start of the loop, (where we check to see if 'Input_File' is a name, or "")
    Loop
End With

' Switch the screen updating back on, and restore whatever calculation method the user had before we ran the macro.
Application.ScreenUpdating = True
Application.Calculation = oldCalcMethod

' tell the user we are complete
MsgBox "Complete"
End Sub