标签: vba
我正在尝试将两个数字传递给模块私有函数,并将该值作为和返回。
'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
答案 0 :(得分:2)
从范围之外调用私有函数不是一个好主意,因为它们出于某种原因是私有的,原因不是要从任何地方调用,而是要从其中的特定模块调用他们住的地方。
无论如何,由于任何其他原因,Application.Run可以按预期的方式工作:
Application.Run
Private Sub PrintSum() Debug.Print "Sum is: " & Application.Run("Modul1.xSum", 5, 5) End Sub
函数名称以逗号分隔,参数用逗号分隔: