私は VBA 初心者で、Excel セルから呼び出すことができる関数を作成しようとしています。この関数は、閉じているブックを開き、セル値を検索して返すことができます。
これまでのところ、次のようなマクロの書き方を知っています。
Sub OpenWorkbook()
    Dim path As String
    path = "C:\Users\UserName\Desktop\TestSample.xlsx"
    Dim currentWb As Workbook
    Set currentWb = ThisWorkbook
    currentWb.Sheets("Sheet1").Range("A1") = OpenWorkbookToPullData(path, "B2")
End Sub
Function OpenWorkbookToPullData(path, cell)
    Dim openWb As Workbook
    Set openWb = Workbooks.Open(path, , True)
    Dim openWs As Worksheet
    Set openWs = openWb.Sheets("Sheet1")
    OpenWorkbookToPullData = openWs.Range(cell)
    openWb.Close (False)
End Function
マクロ OpenWorkbook() は問題なく実行されますが、Excel セルから直接 OpenWorkbookToPullData(...) を呼び出そうとすると、機能しません。ステートメント:
    Set openWb = Workbooks.Open(path, , True)
何も返しません。
Excelセルから呼び出すことができる実用的なVBA関数に変換する方法を知っている人はいますか?