In workbookA, I have a “Do” loop. Within the loop there is “Workbooks.Open Filename:= sFileName”. The “Workbook_Open” procedure in the newly opened workbook is able to detect that it has been opened by workbookA and does the appropriate processing before closing with “ThisWorkbook.Close SaveChanges:=True”. The problem is that control is never returned to workbookA.

As it executes the last line of code (“End Sub” for Workbook_BeforeSave) the stack reads:

VBAProject.ThisWorkbook,Workbook_BeforeSave
[<Non-Basic Code>]
VBAProject.ThisWorkbook,Workbook_Open
[<Non-Basic Code>]
VBAProject.Module1.Proc1
VBAProject.Sheet2.CommandButton1.Click

The reason for the problem is apparent, the question I have is how do I avoid the [<Non-Basic Code>]?

I am really on the spot with this, and would appreciate any direction that can be offered.