使用复制范围方法获取运行时错误1004

时间:2019-10-23 06:48:30

标签: excel vba copy range getopenfilename

说明: 我想做的是允许用户通过浏览选择excel文件,然后将数据从Sheet3复制到所选文件中,然后粘贴到当前工作簿Sheet2(名称为Raw data(STEP 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

1 个答案:

答案 0 :(得分:3)

您的范围地址无效。您可能是说ActiveSheet.Range("A2:A3063")

您应该阅读https://stackoverflow.com/a/10717999/7599798来了解如何在不使用Activate(或Select)的情况下处理表格和范围