VBA:打开一个xls文件并将其添加到当前的工作簿

我有这个问题。 我有一个xls文件,其中包含一个单一的数据表。 在我的主应用程序,一个不同的工作簿,我想打开这张单一的xls文件,并将工作表复制到当前的工作簿。

我可以做到这一点,如果我select源文件的范围来复制,但这个单一的文件可能会改变,所以我宁愿拿出一个解决scheme,只是复制整个文件。 这是我一直在使用的一些代码:

Set src = Workbooks.Open(Filename:="thefile.xlsx") Range("F4:F67").Copy ThisWorkbook.Activate Sheets("Result").Activate Range("A1").Select ActiveSheet.Paste 

我感谢任何帮助。

谢谢

这是一个简单的解决scheme,不需要.Select或.Activate。

 Sub getSheetFromA() getSheet "a.xls", 1 End Sub Sub getSheet(filename As String, sheetNr As Integer) Dim srcWorkbook As Workbook Set srcWorkbook = Application.Workbooks.Open(filename) srcWorkbook.Worksheets(sheetNr).Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) srcWorkbook.Close Set srcWorkbook = Nothing End Sub 

我find一个解决scheme:

 Set src = Workbooks.Open(Filename:="file.xlsx") Cells.Copy ThisWorkbook.Activate Sheets("Result").Activate Range("A1").Select ActiveSheet.Paste