Run-Time Error 91 - Object variable or With block variable not set

K1600

Board Regular
Joined
Oct 20, 2017
Messages
185
I've got a file that when it opens it does a Application.Visible = False and then loads my Login UserForm allowing the user to login.

Once the user has logged in the login UserForm hides rather than unloads as the other UserForms pick information from it during the rest of the process. I am having an issue that once I have run a report using coding Application.Visible = True is added to allow the user to then see the data that has been obtained from the report however when after excel is visible again the login UserForm is re-appearing on the screen. If I add a line of code to unload it then I get the above Run-Time Error. If I DeBug it, it takes me to the line with UsrFrmAdminLogin.Show vbModal.

I can also replicate the error by clicking the red 'X' on the Login UserForm before logging in, which leads me to think that the issue is with this rather then somewhere else in my code.

The code I am using on the workbook opening is below. Could this be something to do with me not being able to pre-approve the macro's and as such having to choose "Enable" once the document opens?

Thanks in advance for any help.

VBA Code:
Private Sub Workbook_Open()
    

'Hide excel after launch so only userform displays
    Application.Visible = False             'Add this to hide excel when UserForm loads

'Checks if outlook is open
Dim oOutlook As Object

    On Error Resume Next
    Set oOutlook = GetObject(, "Outlook.Application")
    On Error GoTo 0

    If oOutlook Is Nothing Then
        MsgBox "Please open Microsoft Outlook (e-mail application)." & vbCr & _
            "      You will need this open to use this system", vbExclamation
    End If

'Loads UserForm immediatly on file being opened
    UsrFrmAdminLogin.Show vbModal


End Sub
 
No. If it greys out, that means that the project compiled without any compile errors. That's good news! :)

No problems are apparent to me from what you have disclosed. Please post all of your code or provide a link , if possible, so that I can take a look at your workbook.
Well that's one good thing at least :)

The whole thing is across three workbooks with links in the code to each so sharing it isn't simple. Additionally, there are a lot of references to the my employer in the code which I would have to sanitise a lot of before I could post it which could likely defeat the object of posting it. However, that's very much for the offer and for your help.
 
Upvote 0

Excel Facts

Move date out one month or year
Use =EDATE(A2,1) for one month later. Use EDATE(A2,12) for one year later.

Forum statistics

Threads
1,223,893
Messages
6,175,246
Members
452,623
Latest member
cliftonhandyman

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top