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