View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Otto Moehrbach Otto Moehrbach is offline
external usenet poster
 
Posts: 1,090
Default ScreenUpdating not working

Dave
I appreciate that tip on documenting the code a bit better. I have
found it a bit challenging to figure out code I had written just a few
months ago.
I'll use your idea on chasing down the ScreenUpdating problem. Thanks
again. Otto
"Dave Peterson" wrote in message
...
There are some functions (mostly in the ATP, IIRC) that can turn the
screenupdating on.

Since you're opening a workbook, maybe there's something in there that
toggles
the setting.

I'd add a few lines like:
Debug.print "Before Open--" & application.screenupdating
Workbooks.Open Filename:="One.xls"
Debug.print "after Open--" & application.screenupdating
....

To determine what's turning it back on. I think the best you can do is
turn it
back off as soon as you notice it.

By the way, I think your code would document itself better if you used:
activesheet.Cells.Copy

or even used a worksheet variable to represent that activesheet on that
newly
opened workbook.

(I thought that you left off a dot on my initial reading.)

Otto Moehrbach wrote:

Excel XP, Win XP
The code below is an abbreviation of my code just to illustrate my
problem.
The code simply opens the "One.xls" file, copies from "One.xls" and
PasteSpecial xlPasteValues to file "Two.xls",
closes the "One.xls" file, and activates the "Two.xls" file.
The code works fine. No problem there.
The problem is that the screen jumps around during the Copy/Paste process
even though I have ScreenUpdating set to False.
Am I missing something with ScreenUpdating? Thanks for your time. Otto

Application.ScreenUpdating = False
Workbooks.Open Filename:=.."One.xls"
With Workbooks("Two.xls").Sheets("TheSht")
Cells.Copy
.Range("A1").PasteSpecial xlPasteValues
End With
Application.DisplayAlerts = False
ActiveWorkbook.Close SaveChanges:=False
Application.DisplayAlerts = True
Windows("Two.xls").Activate
Sheets("TheSht").Activate
Application.ScreenUpdating = True


--

Dave Peterson