Jak wywołać funkcję VBA z komórek Excela? [duplikować

To pytanie ma już odpowiedź tutaj:

Jak wywołać funkcję VBA z komórek Excela (2010)? 9 odpowiedzi

Jestem nowicjuszem w języku VBA i próbuję napisać funkcję, którą mogę wywołać z komórek Excela, która może otworzyć skoroszyt zamknięty, wyszukać wartość komórki i zwrócić ją.

Do tej pory wiem, jak napisać takie makro:

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

Makro OpenWorkbook () działa doskonale, ale gdy próbuję wywołać OpenWorkbookToPullData (...) bezpośrednio z komórki Excela, to nie działa. Wyrok

    Set openWb = Workbooks.Open(path, , True)

returns Nic.

Czy ktoś wie, jak przekształcić go w działającą funkcję VBA, którą można wywołać z komórki Excela?

questionAnswers(3)

yourAnswerToTheQuestion