Передача аргумента (ов) в частную функцию модуля - PullRequest
2 голосов
/ 16 мая 2019

Я пытаюсь передать два числа в частную функцию модуля и вернуть значение в виде суммы.

'In Module1
Private Function xSum(x As Double, y As Double) As Double
  xSum = x + y
End Function
'In Module2
Private Sub PrintSum()
  Debug.Print "Sum is: " & xSum(5, 5) 'Expected results 10
End Sub

1 Ответ

2 голосов
/ 16 мая 2019

Это не хорошая идея вызывать частные функции вне их области видимости, потому что они являются частными по причине, и причина не в том, чтобы вызываться откуда-либо, а из конкретного модуля, в которомони находятся.

В любом случае, по любым другим причинам Application.Run будет работать ожидаемым образом:

Private Sub PrintSum()
    Debug.Print "Sum is: " & Application.Run("Modul1.xSum", 5, 5)
End Sub

Имя функции в кавычках, а аргументы разделяютсязапятая:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...