I'm trying to open a file to access information in the third worksheet. The .FileDialog
works fine and I can select a file, but I keep getting run-time error '91'
because of the line Set wbR = wb.Worksheets(3)
near the bottom of this section of code because wb.Worksheets(3) = <Object variable or With block variable not set>
. This leads me to believe my Set wb = Workbooks.Open(myFile)
does not work and returns Nothing
, but after looking through how other people have opened files using .FileDialog
, I can't see how mine is different and wouldn't function. Any help or advice would be much appreciated.
'Set variables
Dim wb As Workbook 'Workbook to open
Dim wbR As Worksheet 'This is the raw data on the new workbook
Dim wsL As Worksheet 'Worksheet in current file
Dim myFile As String 'File to open
Dim FilePicker As FileDialog
'Set light chain hit worksheet
Set wsL = ThisWorkbook.Worksheets(3)
'Optimizes Speed
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
'Retrieve target file
Set FilePicker = Application.FileDialog(msoFileDialogFilePicker)
'Opens folder-picking window
With FilePicker
.Title = "Select a file."
.AllowMultiSelect = False
If .Show <> -1 Then GoTo NextCode
myFile = Dir(.SelectedItems(1))
End With
'If folder is not selected
NextCode:
myFile = myFile
If myFile = "" Then GoTo ResetSettings
'Set variable equal to opened workbook
Set wb = Workbooks.Open(myFile)
'Ensure Workbook has opened before moving on to next line of code
DoEvents
'Sets worksheet for importing
Set wbR = wb.Worksheets(3)
*the macro continues past this last line but it doesn't get to it yet because of this error