范围可见任何模块,但不在VBAProject之外

时间:2014-07-27 22:01:32

标签: vba excel-vba excel

我有这些功能:

Function funcX() As Integer
    funcX = 2
End Function

Public Function funcY() As Integer
    funcY = 3
End Function

在单独的工作簿中,我可以运行以下操作来访问上述两个:

Sub xxx()

Excel.Application.Run "'myBook.xlsm'!funcX"
Excel.Application.Run "'myBook.xlsm'!funcY"

End Sub

如何创建一个作用域的函数,以便它在其工作簿的所有模块中可用但在该工作簿之外不可用?

1 个答案:

答案 0 :(得分:1)

要简单地将标准模块中的例程设置为特定VBA项目的私有,请将它们声明为Public并添加语句:

Option Private Module

到模块的标题。

有关控制VBA例程可见性的其他注意事项,请参阅here