Sub Main()
Dim a, e, ws As Worksheet
a = aFileOpen(CreateObject("WScript.Shell").SpecialFolders("Desktop"), _
"Desktop Files", "*.xls; *.xlsx; *.xlsm")
If Not IsArray(a) Then Exit Sub
For Each e In a
Set ws = Workbooks.Open(e, , True).Worksheets(1)
ws.Copy After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
ws.Parent.Close False
Next e
End Sub
Function aFileOpen(initialFilename As String, _
Optional sDesc As String = "Excel (*.xlsx)", _
Optional sFilter As String = "*.xlsx", _
Optional tfMultiSelect As Boolean = True)
Dim a, i As Long
With Application.FileDialog(msoFileDialogOpen)
.ButtonName = "&Open"
.initialFilename = initialFilename
.Filters.Clear
.Filters.Add sDesc, sFilter, 1
.Title = "File Open"
.AllowMultiSelect = tfMultiSelect
If .Show = -1 Then
ReDim a(1 To .SelectedItems.Count)
For i = 1 To .SelectedItems.Count
a(i) = .SelectedItems(i)
aFileOpen = a
Next i
End If
End With
End Function