【发布时间】:2020-02-19 08:28:24
【问题描述】:
说明: 我想要做的是允许用户通过浏览选择 excel 文件,然后将数据从 Sheet3 复制到所选文件中并粘贴到当前工作簿 Sheet2(名称为原始数据(步骤 1))。
我的问题是:
运行时错误 1004 应用程序定义或对象定义错误
在这条线上ActiveSheet.Range("A2:3063").Copy
我的完整代码:
Private Sub OpenWorkBook_Click()
Dim myFile As Variant
Dim OpenBook As Workbook
Application.ScreenUpdating = False
myFile = Application.GetOpenFilename(Title:="Browse your file", FileFilter:="Excel Files(*.xls*),*xls*")
If myFile <> False Then
Set OpenBook = Application.Workbooks.Open(myFile)
OpenBook.Sheets(3).Activate
ActiveSheet.Range("A2:3063").Copy
ThisWorkbook.Worksheets("Raw data(STEP 1)").Range("A3").PasteSpecial xlPasteValues
OpenBook.Close True
End If
Application.ScreenUpdating = True
End Sub
【问题讨论】:
-
您的实际范围参考不完整。但是,请查看this 帖子,了解如何避免
.Activate。此外,如果您只对值感兴趣,则无需复制和粘贴它们(通过剪贴板)。您还应该设置对初始工作簿的引用,以便保存。
标签: excel vba copy range getopenfilename