Screen updating off
I have a macro in one workbook that opens another workbook and extracts data I have used Application. Activate Next i Count ' Turn off application events to prevent external workbook events from being activated Application. Screen Updating = False in the macro but when the other Workbook is opened Screen Updating is on How can I turn off Screen Updating in the other workbook from within the calling macro? Enable Events = False If I use the watch window to look at Application. Activte line is run Unless I am missing something why not try opening the source WB, storing the data in "Get Data(i Count)" in an Array , exit the loop then ,activate This Workbook again, turnoff the sreen updating and do all the formatting work in one go by retreiving the Data stored in the Array. OK - this is a new concept which I don't quite understand.
Screen Updating = False ' Clear old data This Workbook. So if I take a different approach and do the copy/paste in one hit how do I achieve this. Clear ' Open Source Workbook Set wb Activity Planner = Workbooks. The VBA code times 10000 calculations with Screen Updating Off and again with Screen Updating Nn.The difference between these is the time taken by the screen updating.Version 1.0 enabled a blank screensaver that turned the screen black.The code has been updated by the developer, and in recent versions, it turns off the screen.I ran Gurs benchmark on my desktop PC with Excel 2003 to Excel 2013., with a constant screen area visible (rows 8 and columns A: BF).
Since I cannot install Excel 2016 on the same PC as previous versions without causing unwanted problems I used a VM on my desktop and also ran the benchmark on my Surface Pro 3.
This will mean only one call to the source workbook and only one lot of formatting needs to be done on the copied cells Thanks Right - I've almost solved it. Screen Updating = False ' Clear old data This Workbook. Screen Updating = False ' Copy range of cells from Source Set r Copy From = Range("HQ_R, Prj_R, AOCC_R, Ops_R, Maint_R") ' Define Range to copy to Set r Copy To = This Workbook. My origina code swopped back and forward between the two files giving me the wrong impression that screen updating was not working My code as it is now is OK - it would be better if the source file did not display at all - which I think you can do by treating it as a ADO recordset - will search for this Thanks for the help Workbooks. Path & "Source WB" Values To Copy Array = Active Sheet.
Desktop users can turn off their monitor screens with the button provided.
Screen Updating = True t Start = Micro Timer For i = 1 To 10000 .
Calculate Next i t End = Micro Timer t Screen On = (t End - t Start) End With Msg Box "Off " & Int((t Screen Off) * 1000) & _ " On " & Int(t Screen On * 1000) & _ " Diff " & Int((t Screen On - t Screen Off) * 1000) & " Millisecs" End Sub I think what has happened is that Excel 2013 is still doing all the work to update and format the values, but has added a check to limit the frequency of requests to Windows to actually repaint the screen.
But if you are using a Windows laptop, then it is not possible for you to turn off the laptop screen manually – unless of course, its manufacturer has given you a keyboard shortcut.