Option Explicit
Sub CopyAllSheets()
Dim wbThis As Workbook
Dim wbOpen As Workbook
Dim varFileName As Variant
varFileName = Application.GetOpenFilename("Excel Files (*.xls), (*.xlsx) , *.xls, *.xlsx")
If TypeName(varFileName) = "String" Then
Set wbThis = ThisWorkbook
Set wbOpen = Workbooks.Open(varFileName)
wbOpen.Sheets.Copy After:=wbThis.Worksheets(wbThis.Worksheets.Count)
wbOpen.Close False
End If
End Sub