ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Long running macro and screen update (https://www.excelbanter.com/excel-programming/342447-long-running-macro-screen-update.html)

James[_39_]

Long running macro and screen update
 
I am having a similar problem here. I created a long running macro, and
would like the user to be able to navigate around the workbook while the
macro is running. In the mean time, I popup a modeless dialog to keep the
user inform regarding the process. I face two problems:

1. Excel stop responding to input while the macro is running. I can't
navigate the workbook.
2. My modeless dialog box doesn't repaint until the macro is done.

Both problem originate from which Excel did not handle window messages while
the macro is running. I tried to peek into the message loop to process the
message, but that doesn't help either.

Anybody has a solution to this?


James.



[email protected]

Long running macro and screen update
 
Did you try using the DoEvents command?


[email protected]

Long running macro and screen update
 
Did you try using the DoEvents command?


James[_39_]

Long running macro and screen update
 
Good Call. It works!!! Thanks a lot.

That raise another problem. The DoEvents causes excessive flickering on the
UI...


wrote in message
oups.com...
Did you try using the DoEvents command?




[email protected]

Long running macro and screen update
 
I may be completely off track but often flickering is caused if you are
selecting cells, sheets etc rather than accessing their values
directly.

If you're not doing that another idea would be try
Application.ScreenUpdating = False (then set it to true when you're
finished)


[email protected]

Long running macro and screen update
 
I may be completely off track but often flickering is caused if you are
selecting cells, sheets etc rather than accessing their values
directly.

If you're not doing that another idea would be try
Application.ScreenUpdating = False (then set it to true when you're
finished)



All times are GMT +1. The time now is 11:12 PM.

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