Avatar of Bob3975
Bob3975
Flag for United States of America asked on

workbook_open() not working

In an existing workbook within This Workbook I added
------------
Private Sub Workbook_Open()
  Main
End Sub
-------------

It doesn't run.  So I changed it to Auto_Open and it runs except it only shows the Excel 2010 splashscreen rather than the workbook as the macro runs.  I'd much rather see the workbook as it runs rather than the splashscreen.

How can I get the results I'm looking for?
Microsoft Excel

Avatar of undefined
Last Comment
Bob3975

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
Eoin Ryan

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
Steve

Maybe a DoEvents before the Main macro.
Is there an Application.ScreenUpdating = false at the start of the Main macro? Turn this to true if you want to see changes.
Bob3975

ASKER
EoDawg,
As written your solution will not work since Main is not in the new workbook but it was enough to get me thinking.  I rewrote it as shown below for a functional solution.
-------------------
Private Sub Auto_open()
Dim aWb As Workbook
Dim thisWb As String
thisWb = ActiveWorkbook.name

Set aWb = Workbooks.Add
ActiveWorkbook.Close False

Workbooks(thisWb).Activate

Main

End Sub
-----------------
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes