VBA打开Excel文件并将Sheet 1数据粘贴到当前工作簿的“主”表单中

好,所以我有一个工作表(原始工作簿)与当前工作簿。

我想打开一个现有的工作簿(Data Workbook)并复制“Data Workbook”表1中的所有内容,然后将所有内容粘贴到“Original Workbook”的Sheet“Main”中。

在这个过程结束时,我想closures“数据工作簿”到目前为止,我有以下代码。

但它给了我一个错误消息

“运行时错误”1004:无法将该macros公式粘贴到工作表上“:

Sub ImportData() Dim wb1 As Workbook Dim wb2 As Workbook Dim Sheet As Worksheet Dim PasteStart As Range Set wb1 = ActiveWorkbook Set PasteStart = [Main!A1] FileToOpen = Application.GetOpenFilename _ (Title:="Please choose a Report to Parse", _ FileFilter:="Report Files *.xls (*.xls),") If FileToOpen = False Then MsgBox "No File Specified.", vbExclamation, "ERROR" Exit Sub Else Set wb2 = Workbooks.Open(Filename:=FileToOpen) For Each Sheet In wb2.Sheets With Sheet.UsedRange .Copy PasteStart Set PasteStart = PasteStart.Offset(.Rows.Count) End With Next Sheet End If wb2.Close End Sub 

您好请参考下面的代码,并根据您的需要进行更改。 它做你所需要的。

 Option Explicit Sub import() Dim filename As String Dim curfilename As String curfilename = ThisWorkbook.Name filename = Application.GetOpenFilename Application.ScreenUpdating = False Dim x As Workbook Set x = Workbooks.Open(filename) With Sheets("1") x.Sheets("1").Range("A1:Z10000").Copy '/Provide the range End With Dim y As Workbook Set y = Workbooks(curfilename) With Sheets("Main") y.Sheets("Main").Range("A1").PasteSpecial xlPasteFormats Application.DisplayAlerts = False End With x.Close SaveChanges:=False Range("A1").Select End Sub