VBA - returning a reference to a WorkBook
<p>I want to call a function that returns a Workbook or reference to that workbook. However I'm unable to set the value 'wb' with the workbook returned from the function.    </p>

<pre><code>Public Sub TestScript()

    Dim wb As Workbook    
    wb = GetWorkBook()

End Sub


    Function GetWorkBook() As Workbook

    Dim db2 As Workbook
    Dim xlApp As Excel.Application
    Set xlApp = GetObject(, "Excel.Application")

    Dim xlWB As Excel.Workbook
    For Each xlWB In xlApp.Workbooks
        If xlWB.Name = "Test.XLSX" Then
            Set db2 = xlWB
        End If
    Next xlWB

    Set xlApp = Nothing
    Set xlWB = Nothing

    GetWorkBook = db2


    End Function
</code></pre>

<p>Gives:</p>

<blockquote>
  <p>Runtime Error 91:
  Object Variable or With Block Variable not set</p>
</blockquote>