Userform won't show after closing another file

G

Gerry O

I have two files. First file runs through a userid/password validation then
gives user a list of files to open on userform. After selection, userform is
hidden (me.hide), second file opens. User makes changes, etc. Command
button gives user option on second file to close & save changes and reshow
the userform on first file to make another selection. After saving changes
and closing on second file, userform on first file should be re-shown. My
current code does close and save the file, but when focus returns to first
file, userform is not visible.

Here is code to close second file and return to first file:

Private Sub Show_Cost_Center()

Application.Run ("HideAll")
Return_Cost_Center.Show vbModeless

End Sub

Here is code on first file to re-show the userform:

Private Sub cmbSelectNew_Click()

Application.ScreenUpdating = False
Unload Me
Application.EnableEvents = True
Application.Run ("MainHideAll")
Windows("Main Menu").Visible = True
ThisWorkbook.gMacro = True
Application.ScreenUpdating = True
Application.Run "'ABS Open v2.0.xls'!Show_Cost_Center"
ThisWorkbook.Close savechanges:=True

End Sub

Any help would be appreciated!
 
J

Jim Rech

I can't tell why the first form does not reappear, but

Application.Run ("HideAll")
Application.Run ("MainHideAll")

Just use:

HideAll
MainHideAll

Routines in the same workbook as the caller can be called directly.

--
Jim
|I have two files. First file runs through a userid/password validation
then
| gives user a list of files to open on userform. After selection, userform
is
| hidden (me.hide), second file opens. User makes changes, etc. Command
| button gives user option on second file to close & save changes and reshow
| the userform on first file to make another selection. After saving
changes
| and closing on second file, userform on first file should be re-shown. My
| current code does close and save the file, but when focus returns to first
| file, userform is not visible.
|
| Here is code to close second file and return to first file:
|
| Private Sub Show_Cost_Center()
|
| Application.Run ("HideAll")
| Return_Cost_Center.Show vbModeless
|
| End Sub
|
| Here is code on first file to re-show the userform:
|
| Private Sub cmbSelectNew_Click()
|
| Application.ScreenUpdating = False
| Unload Me
| Application.EnableEvents = True
| Application.Run ("MainHideAll")
| Windows("Main Menu").Visible = True
| ThisWorkbook.gMacro = True
| Application.ScreenUpdating = True
| Application.Run "'ABS Open v2.0.xls'!Show_Cost_Center"
| ThisWorkbook.Close savechanges:=True
|
| End Sub
|
| Any help would be appreciated!
|
| --
| Thanks,
|
| Gerry O.
 
J

Jim Rech

Is that true for Private Subs too?

Yup.

--
Jim
| Is that true for Private Subs too?
| --
| Thanks,
|
| Gerry O.
|
|
| "Jim Rech" wrote:
|
| > I can't tell why the first form does not reappear, but
| >
| > Application.Run ("HideAll")
| > Application.Run ("MainHideAll")
| >
| > Just use:
| >
| > HideAll
| > MainHideAll
| >
| > Routines in the same workbook as the caller can be called directly.
| >
| > --
| > Jim
| > | > |I have two files. First file runs through a userid/password validation
| > then
| > | gives user a list of files to open on userform. After selection,
userform
| > is
| > | hidden (me.hide), second file opens. User makes changes, etc.
Command
| > | button gives user option on second file to close & save changes and
reshow
| > | the userform on first file to make another selection. After saving
| > changes
| > | and closing on second file, userform on first file should be re-shown.
My
| > | current code does close and save the file, but when focus returns to
first
| > | file, userform is not visible.
| > |
| > | Here is code to close second file and return to first file:
| > |
| > | Private Sub Show_Cost_Center()
| > |
| > | Application.Run ("HideAll")
| > | Return_Cost_Center.Show vbModeless
| > |
| > | End Sub
| > |
| > | Here is code on first file to re-show the userform:
| > |
| > | Private Sub cmbSelectNew_Click()
| > |
| > | Application.ScreenUpdating = False
| > | Unload Me
| > | Application.EnableEvents = True
| > | Application.Run ("MainHideAll")
| > | Windows("Main Menu").Visible = True
| > | ThisWorkbook.gMacro = True
| > | Application.ScreenUpdating = True
| > | Application.Run "'ABS Open v2.0.xls'!Show_Cost_Center"
| > | ThisWorkbook.Close savechanges:=True
| > |
| > | End Sub
| > |
| > | Any help would be appreciated!
| > |
| > | --
| > | Thanks,
| > |
| > | Gerry O.
| >
| >
| >
 
D

Dave Peterson

But only if the calling sub and called sub are in the same module, right?
 
J

Jim Rech

But only if the calling sub and called sub are in the same module, right?

Yeah, I thought he meant Option Private Module but it's pretty obvious he
didn't. Thanks.
 
J

Jim Rech

Is that true for Private Subs too?

You declare a sub private so that it cannot be called from outside its
module. If you decide you want to then removing the Private is another way
to go.
 
G

Gerry O

Thanks, Jim. I definitely want to keep private as I don't want users to be
able to see macros if they select run macro from the tools menu. Thanks for
the info, though. I learned something new!
 
J

Jim Rech

I don't want users to be able to see macros if they select run macro from
If you put Option Private Module at the top of the module users will not be
able to see the macros and you'll be able to call them directly. The best
of both worlds!<g>

--
Jim
| Thanks, Jim. I definitely want to keep private as I don't want users to
be
| able to see macros if they select run macro from the tools menu. Thanks
for
| the info, though. I learned something new!
| --
| Thanks,
|
| Gerry O.
|
|
| "Jim Rech" wrote:
|
| > >>Is that true for Private Subs too?
| >
| > You declare a sub private so that it cannot be called from outside its
| > module. If you decide you want to then removing the Private is another
way
| > to go.
| >
| > --
| > Jim
| > | > > Is that true for Private Subs too?
| > > --
| > > Thanks,
| > >
| > > Gerry O.
| > >
| > >
| > > "Jim Rech" wrote:
| > >
| > >> I can't tell why the first form does not reappear, but
| > >>
| > >> Application.Run ("HideAll")
| > >> Application.Run ("MainHideAll")
| > >>
| > >> Just use:
| > >>
| > >> HideAll
| > >> MainHideAll
| > >>
| > >> Routines in the same workbook as the caller can be called directly.
| > >>
| > >> --
| > >> Jim
| > >> | > >> |I have two files. First file runs through a userid/password
validation
| > >> then
| > >> | gives user a list of files to open on userform. After selection,
| > >> userform
| > >> is
| > >> | hidden (me.hide), second file opens. User makes changes, etc.
Command
| > >> | button gives user option on second file to close & save changes and
| > >> reshow
| > >> | the userform on first file to make another selection. After saving
| > >> changes
| > >> | and closing on second file, userform on first file should be
re-shown.
| > >> My
| > >> | current code does close and save the file, but when focus returns
to
| > >> first
| > >> | file, userform is not visible.
| > >> |
| > >> | Here is code to close second file and return to first file:
| > >> |
| > >> | Private Sub Show_Cost_Center()
| > >> |
| > >> | Application.Run ("HideAll")
| > >> | Return_Cost_Center.Show vbModeless
| > >> |
| > >> | End Sub
| > >> |
| > >> | Here is code on first file to re-show the userform:
| > >> |
| > >> | Private Sub cmbSelectNew_Click()
| > >> |
| > >> | Application.ScreenUpdating = False
| > >> | Unload Me
| > >> | Application.EnableEvents = True
| > >> | Application.Run ("MainHideAll")
| > >> | Windows("Main Menu").Visible = True
| > >> | ThisWorkbook.gMacro = True
| > >> | Application.ScreenUpdating = True
| > >> | Application.Run "'ABS Open v2.0.xls'!Show_Cost_Center"
| > >> | ThisWorkbook.Close savechanges:=True
| > >> |
| > >> | End Sub
| > >> |
| > >> | Any help would be appreciated!
| > >> |
| > >> | --
| > >> | Thanks,
| > >> |
| > >> | Gerry O.
| > >>
| > >>
| > >>
| >
| >
| >
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top