Share via

Screen Flickering in Excel

Anonymous
2023-01-27T00:18:56+00:00

For Excel VBA, with my code, I am facing heavy Screen Flickering when Macro runs and also it takes 10 mins to complete the macro run actually. I have lot of input data to be processed. Because of that, it takes too much time here.

How to avoid screen flickering in Excel macros. Please note that i am setting application.displayevents to false at the start and set it to true at the end here.

I have tried changing copy paste methods to speed up the macro, but it did not help me a lot. My macro is very long and contains multiple small macros inside here.

What are the methods to detect what is causing screen flickering and how to stop it completely.

Microsoft 365 and Office | Excel | For business | Windows

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments

3 answers

Sort by: Most helpful
  1. OssieMac 48,001 Reputation points Volunteer Moderator
    2023-01-27T22:46:25+00:00

    Are you sure that you have the correct code to suppress screen updating? In your original post you said", i am setting application.displayevents to false". DisplayEvents is an incorrect command, and it should error because EnableEvents suppresses events. However, correct code to suppress Screen Updating is Application.ScreenUpdating = False.

    Unfortunately, at this point in time, I cannot think of anything else that might be causing the problem.

    Was this answer helpful?

    0 comments No comments
  2. Anonymous
    2023-01-27T01:40:01+00:00

    Dear Sir,

    I have tried all those methods with my code, but no help on this.

    Regards

    Was this answer helpful?

    0 comments No comments
  3. OssieMac 48,001 Reputation points Volunteer Moderator
    2023-01-27T01:33:29+00:00

    Try the following in lieu of application.displayevents

    Application.ScreenUpdating = False

    ScreenUpdating usually resumes automatically after processing is finished. However, can insert the following as the last command after processing is completed.

    Application.ScreenUpdating = True

    Was this answer helpful?

    0 comments No comments