Это не хорошая идея вызывать частные функции вне их области видимости, потому что они являются частными по причине, и причина не в том, чтобы вызываться откуда-либо, а из конкретного модуля, в которомони находятся.
В любом случае, по любым другим причинам Application.Run
будет работать ожидаемым образом:
Private Sub PrintSum()
Debug.Print "Sum is: " & Application.Run("Modul1.xSum", 5, 5)
End Sub
Имя функции в кавычках, а аргументы разделяютсязапятая: