运行时错误91对象变量或未设置块

时间:2019-10-23 02:47:03

标签: excel vba getopenfilename

我收到此错误

  

运行时错误'91':对象变量或未设置块的情况。

我要做的是让用户选择文件,然后从所选文件中选择sheet3(名称为Raw data),然后复制到当前工作簿中

我的代码是

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 OpenBook <> False Then
    Set OpenBook = Application.Workbooks.Open(myFile)
    OpenBook = Application.Workbooks.Open(myFile)
    OpenBook.Sheets(3).Range("A1:3063").Copy
    ThisWorkbook.Worksheets("Raw data(STEP 1)").Range("A2").PasteSpecial xlPasteValues
    OpenBook.Close False
End If

Application.ScreenUpdating = True

End Sub

突出显示的行If OpenBook <> False Then

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我认为应该是If myFile <> False ThenmyFile是您用来获取文件名的变量。 OpenBook直到之后才设置,因此为空错误。