Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / Programming / September 2007

Tip: Looking for answers? Try searching our database.

Flickering screen while processing macro

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Pa Maher - 19 Sep 2007 12:48 GMT
Based on input from the User, a macro takes data from several worksheets and
inputs the data to a form which then is further updated by the user.  The
screen flickers as the program copies and pastes data.

Is there some way to mask the flicker by using a "splash screen" (if I am
using the term properly), which would disappear when the update is completed?

The displayed message would read:
"Please wait while CAIS is being created" and also include a creation
graphic that I have.

Thanks in advance!
Mike H - 19 Sep 2007 12:54 GMT
Try

Application.screenupdating = false

your code

Application.screenupdating=true

Mike

> Based on input from the User, a macro takes data from several worksheets and
> inputs the data to a form which then is further updated by the user.  The
[quoted text clipped - 8 lines]
>
> Thanks in advance!
Ron Coderre - 19 Sep 2007 12:56 GMT
Try this:

Application.ScreenUpdating = FALSE
....run your code....
Application.ScreenUpdating = TRUE

If the process may take a while, consider using the Status Bar to display
progress:
Application.StatusBar = "Processing sheet 3 of 12"

Return it to the default behavior with:
Application.StatusBar = FALSE

Does that help?
--------------------------

Regards,

Ron (XL2003, Win XP)
Microsoft MVP (Excel)

> Based on input from the User, a macro takes data from several worksheets
> and
[quoted text clipped - 10 lines]
>
> Thanks in advance!
Tom Ogilvy - 19 Sep 2007 12:58 GMT
at the top of the macro put in

Application.ScreenUpdating = False

at the end of the macro

Application.ScreenUpdating = true

if you really want a splash screen:
http://www.j-walk.com/ss/excel/tips/tip39.htm

maybe combined with

http://www.j-walk.com/ss/excel/tips/tip34.htm

If your code has command like

worksheets("Sheet1").Activate
range("A1").Select
selection.Copy
worksheets("Summary").activate
Range("B9").Select
Activesheet.Paste

that could be done with

worksheets("Sheet1").Range("A1").copy Worksheets("Summary").Range("B9")

or if you only need the contents of the cell and not the formatting

Worksheets("Summary").Range("B9").Value =  _
  worksheets("Sheet1").Range("A1").Value

These types of commands are silent.  IF Summary was the activesheet and
range B9 was in view, you would see its value change, but if some other sheet
was active, you would see very little.

Signature

Regards,
Tom Ogilvy

> Based on input from the User, a macro takes data from several worksheets and
> inputs the data to a form which then is further updated by the user.  The
[quoted text clipped - 8 lines]
>
> Thanks in advance!
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.