Excel & Word have the Screen Updating method thru which a developer can lock the main window from unnecessarily redrawing itself whilst the macro is being executed. If left alone, redrawing is not only ugly on the eyes it also takes more time for the macro to reach completion.
Declare Function Find Window Lib "user32" Alias "Find Window A" _ (By Val lp Class Name As String, _ By Val lp Window Name As Long) As Long ' Use Lock Window Update to prevent/enable window refresh Declare Function Lock Window Update Lib "user32" _ (By Val hwnd Lock As Long) As Long ' Use Update Window to force a refresh of the Power Point window Declare Function Update Window Lib "user32" (By Val hwnd As Long) As Long Property Let Screen Updating(State As Boolean) Static hwnd As Long Dim Version No As String ' Get Version Number If State = False Then Version No = Left(Application. Version, ".") - 1) ' Get handle to the main application window using Class Name Select Case Version No Case "8" ' For PPT97: hwnd = Find Window("PP97Frame Class", 0&) Case "9" ' For PPT2K: hwnd = Find Window("PP9Frame Class", 0&) Case "10" ' For XP: hwnd = Find Window("PP10Frame Class", 0&) Case "11" ' For 2003: hwnd = Find Window("PP11Frame Class", 0&) Case "12" ' For 2007: hwnd = Find Window("PP12Frame Class", 0&) Case "14" ' For 2010: hwnd = Find Window("PPTFrame Class", 0&) Case "15" ' For 2013: hwnd = Find Window("PPTFrame Class", 0&) Case Else Err.
Raise Number:=vb Object Error ERR_VERSION_NOT_SUPPORTED, _ Description:="Newer version." Exit Property End Select If hwnd = 0 Then Err.
I want to start off this post by thanking everyone who sent in their examples in response to my January request.
It is incredibly helpful to be able to look at what you all are doing with Excel!
Sub load Portfolio() Dim i Test As Integer, portfolio Version As String Application. :-) Basically, after all those statements (and between each one) Screen Updating remains "True". Screen Updating = False For i = 1 To 10000 Worksheets("Sheet1"). Screenupdating = False worked perfectly in Excel 2007 until last week, when it remained True however many times I tried to set it to False.
All those Screen Updating = False's you see is called "sheer desperation". I can still enter the workbook and it is screenupdating away even right after the line set it false. Screen Updating = False" in the immediate window it works as expected. Thanks Colin Correct, when you step through in debug mode the screenupdating remains turned on. To test it properly, try this: Put a commandbutton on your sheet and paste in Application. Net) | Coordinates, Vectors and 3D volumes I've experienced this problem, with code that previously worked!
This can mean that what should take a matter of 1 to 3 seconds, often takes a lot longer.
Free Excel Help One drawback with recorded macros in Excel is that the code produced is often very inefficient.
It also means that we cannot tell the macro recorder to not record our steps of selecting cells, sheets and scrolling around, even though the selecting of cells, sheets and scrolling is not needed in true VBA code.
As a result, of all this selecting and scrolling, the screen flickers whenever your recorded macro is played back. Screen Updating Those that are familiar with VBA code may also be aware of the term Application. Unfortunately those that really need to know about this term (those that can only record macros) are often not aware of it.
Screen Updating = false" because I saw the yellow highlight go over the line in debug mode. Calculation = xl Calculation Automatic Application. Screen Updating from within the code instead of the immediate window, but I'm fairly sure what I'll find. This function gets called by an event handler that catches a Commands Bar button event (? Basically, we create a menu bar and one of the buttons in our custom "File" menu is labeled "Load Portfolio" which calls this function. I have encountered the same symptoms and can't think as to why it's happening. I think that maybe something has broken in my excel because even when I closed out of excel and opened a brand new 2003 workbook with no previous code I was getting the same problem. The interesting thing is that *some* of my modules allow Screen Updating to be set to False, there's only a few that don't.