title: Application.ScreenUpdating in Subroutine called within Subroutine
body: <p>This isn't really a code specific question, but more something to satisfy curiousity (and avoid future issues), so I thought SO would be a fitting place to ask it.  </p>
  
  <p>The basis of my question is this:  how does VBA treat <code>Application.ScreenUpdating</code> and other such calls from a subroutine that is called within a subroutine?</p>
  
  <p>To illustrate with an example, I have a method <code>BackupData</code> that just very quickly takes the data from the activesheet and copies it to a hidden sheet with the same name and "Backup" appended (I use this to provide my users with an "Undo" macro since you can't use regular methods to undo the actions of a subroutine).  In <code>BackupData</code>, I toggle <code>ScreenUpdating</code> to False and True just so that the action is completely hidden from the end user. The problem in question arises from the fact that I give the user free access to running the macro, but also choose to call it from other macros which also toggle the <code>ScreenUpdating</code> property. </p>
  
  <p>So, if <code>BackupData</code> is called from within a macro <em>after</em> that macro has toggled the <code>ScreenUpdating</code> property to False, will the <code>BackupData</code> call to set the property to True override the "outer" routine's call, thus leaving the rest of that macro to run with screen updating on?</p>
  
  <p>Now, obviously, I know there are plenty of easy solutions to this issue.  I could store a boolean in <code>BackupData</code> that checks if <code>ScreenUpdating</code> is already false and then not return it to true if that is the case, or I can simply always repeat the <code>ScreenUpdating = False</code> call after running <code>BackupData</code>, or I could even write an identical sub to <code>BackupData</code> that doesn't toggle the value that I run from inside these other macros, but the point of this question isn't finding that solution.  </p>
  
  <p>I guess this is more of a question of how VBA works with nested subroutine calls, but I'm hoping someone here might be able to satisfy my curiousity with a definitive answer as to whether VBA will handle the issue for me or if I need to use one of the afformentioned workarounds. </p>
  
  <h1>TL;DR</h1>
  
  <p>I am not looking for a workaround solution, as there are plenty of options I have already worked out.  I am simply curious if anyone knows exactly how VBA deals with these sorts of calls (not even just specific to the <code>ScreenUpdating</code> property but other Application properties as well)</p>