ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Userform Shown while macro runs (https://www.excelbanter.com/excel-programming/325403-userform-shown-while-macro-runs.html)

ExcelMonkey[_190_]

Userform Shown while macro runs
 
I have a macro that runs over a few minutes. While its
running, I want to able to display a userform. I want the
form to have a cancel button which will stop the entire
routine.

When I initiate the macro its off the OKButton_Click
event. I call the form I want to see.

'Load StatusBar Userform
StatusBarUserform.Show

When I do this, the macro doesn't continue running. That
is, without this call stmt, the macro does its thing.
Here is just sits idle. Why does the act of showing this
form stop the macro from progressing? I want to see this
form and also have the code advance.

Then I want to be able to hit cancel and have all the
forms unload and hide

Thanks



Tom Ogilvy

Userform Shown while macro runs
 
StatusBarUserform.Show vbModeless

the default is to show in a modal mode - meaning it behaves as you describe.
Note that xl97 does not support the vbModeless argument. Its userforms are
modal. (using built in functionality).

--
Regards,
Tom Ogilvy

"ExcelMonkey" wrote in message
...
I have a macro that runs over a few minutes. While its
running, I want to able to display a userform. I want the
form to have a cancel button which will stop the entire
routine.

When I initiate the macro its off the OKButton_Click
event. I call the form I want to see.

'Load StatusBar Userform
StatusBarUserform.Show

When I do this, the macro doesn't continue running. That
is, without this call stmt, the macro does its thing.
Here is just sits idle. Why does the act of showing this
form stop the macro from progressing? I want to see this
form and also have the code advance.

Then I want to be able to hit cancel and have all the
forms unload and hide

Thanks





ExcelMonkey[_190_]

Userform Shown while macro runs
 
So Tom, Put some ScreenUpdating commads around my hide
method for Userform1. It hid the form. However, when I
call the second form, only the form is shown. It is shown
white instead of its natural grey and its button is not
shown. Do I have to put in a separate command for the
button to show in modeless?

'Hide Main form
Application.ScreenUpdating = False
UserForm1.Hide
Application.ScreenUpdating = True

'Load StatusBar Userform
StatusBarUserform.Show vbModeless


-----Original Message-----
StatusBarUserform.Show vbModeless

the default is to show in a modal mode - meaning it

behaves as you describe.
Note that xl97 does not support the vbModeless argument.

Its userforms are
modal. (using built in functionality).

--
Regards,
Tom Ogilvy

"ExcelMonkey" wrote

in message
...
I have a macro that runs over a few minutes. While its
running, I want to able to display a userform. I want

the
form to have a cancel button which will stop the entire
routine.

When I initiate the macro its off the OKButton_Click
event. I call the form I want to see.

'Load StatusBar Userform
StatusBarUserform.Show

When I do this, the macro doesn't continue running.

That
is, without this call stmt, the macro does its thing.
Here is just sits idle. Why does the act of showing

this
form stop the macro from progressing? I want to see

this
form and also have the code advance.

Then I want to be able to hit cancel and have all the
forms unload and hide

Thanks




.


Tom Ogilvy

Userform Shown while macro runs
 
Application.ScreenUpdating = True
UserForm1.Hide
'Load StatusBar Userform
StatusBarUserform.Show vbModeless
doevents
Application.ScreenUpdating = False

Might work - hard to tell.

--
Regards,
Tom Ogilvy

"ExcelMonkey" wrote in message
...
So Tom, Put some ScreenUpdating commads around my hide
method for Userform1. It hid the form. However, when I
call the second form, only the form is shown. It is shown
white instead of its natural grey and its button is not
shown. Do I have to put in a separate command for the
button to show in modeless?

'Hide Main form
Application.ScreenUpdating = False
UserForm1.Hide
Application.ScreenUpdating = True

'Load StatusBar Userform
StatusBarUserform.Show vbModeless


-----Original Message-----
StatusBarUserform.Show vbModeless

the default is to show in a modal mode - meaning it

behaves as you describe.
Note that xl97 does not support the vbModeless argument.

Its userforms are
modal. (using built in functionality).

--
Regards,
Tom Ogilvy

"ExcelMonkey" wrote

in message
...
I have a macro that runs over a few minutes. While its
running, I want to able to display a userform. I want

the
form to have a cancel button which will stop the entire
routine.

When I initiate the macro its off the OKButton_Click
event. I call the form I want to see.

'Load StatusBar Userform
StatusBarUserform.Show

When I do this, the macro doesn't continue running.

That
is, without this call stmt, the macro does its thing.
Here is just sits idle. Why does the act of showing

this
form stop the macro from progressing? I want to see

this
form and also have the code advance.

Then I want to be able to hit cancel and have all the
forms unload and hide

Thanks




.





All times are GMT +1. The time now is 11:24 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com