View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
Michael D. Ober[_2_] Michael D. Ober[_2_] is offline
external usenet poster
 
Posts: 13
Default Turning off Screen Refresh

You might want to put this in a class module as follows.

Add a a class module and name it SuspendRefresh. The code is:

Option Explicit

Private Sub Class_Initialize()
Application.ScreenUpdating = False
End Sub

Private Sub Class_Terminate()
Application.ScreenUpdating = True
End Sub

' End of class module

In your sub or function, do the following
Sub DemoScreenUpdateClass()
dim su as SuspendRefresh

' when ready to suspend the screen refresh
set su = new SuspendRefresh

' when ready to resume screen refresh
set su = Nothing

' if you don't want to resume screen refresh until the Sub or Function
ends, do nothing. VBA will
' automatically perform the "set su = Nothing" for you on Exit Sub or Exit
Function
End Sub


Mike.

"Chip Pearson" wrote in message
...
Sullivan,

Use something like the following:

Application.ScreenUpdating = False
' your code here
Application.ScreenUpdating = True

--
Cordially,
Chip Pearson
Microsoft MVP - Excel
www.cpearson.com

"sullivan" wrote in message
...
Is there any way to turn off screen refresh while running
a program in VB?

Sullivan