Here is an example:
Option Explicit
Sub CopyDemoSheet()
Dim sPath As String, sFile As String
Dim dstWbk As Workbook, srcWbk As Workbook
Dim dstWsh As Worksheet, srcWsh As Worksheet
On Error GoTo Err_CopyDemoSheet
Set dstWbk = Application.Workbooks.Add
sPath = "C:\test\"
sFile = Dir(sPath)
Do While sFile <> ""
If LCase(Right(sFile, 3)) <> "xls" Then GoTo SkipNext
Set srcWbk = Application.Workbooks.Open(sPath & "\" & sFile)
Set srcWsh = srcWbk.Worksheets("Demo")
srcWsh.Copy dstWbk.Worksheets(dstWbk.Worksheets.Count)
Set dstWsh = dstWbk.Worksheets(dstWbk.Worksheets.Count)
srcWbk.Close SaveChanges:=False
SkipNext:
sFile = Dir()
Loop
Exit_CopyDemoSheet:
On Error Resume Next
Set dstWbk = Nothing
Set dstWsh = Nothing
Set srcWbk = Nothing
Set srcWsh = Nothing
Exit Sub
Err_CopyDemoSheet:
MsgBox Err.Description, vbExclamation, "Error no.:" & Err.Number
Resume Exit_CopyDemoSheet
End Sub
Please, read all comments.
Note: not tested!