title: When is it appropriate to explicitly use Err.Clear?
body: <p>For example, the following function is used for checking whether a workbook is open:</p>
  
  <pre><code>Function BookOpen(Bk As String) As Boolean
      Dim T As Excel.Workbook 
  
      Err.Clear
      On Error Resume Next
      Set T = Application.Workbooks(Bk)
      BookOpen = Not T Is Nothing 
      Err.Clear 
      On Error GoTo 0 
  End Function
  </code></pre>
  
  <p>Are these two <code>Err.Clear</code> statements necessary?</p>