我有一个模块ModuleA
,其中包含用户将在电子表格中使用的Public
函数:
Public Function UserCanSeeThis() As String
UserCanSeeThis = "Hello, " & UserCannotSeeThisButModuleACan() & " user"
End Function
我有一个模块ModuleB
,其中包含我要在ModuleA
中使用的功能,但我不希望用户在编写{{{}时查看可用功能列表1}}进入单元格或阅读公式字典时:
=
我应该如何在Function UserCannotSeeThisButModuleACan() As String
UserCannotSeeThisButModuleACan = "my dear"
End Function
中声明该功能,以便ModuleB
可以看到它,但用户不能?
p.s。我在网站上搜索过,只找到了"解决方案"对于ModuleA
,我可以将Sub
声明为Sub
,然后使用Private
从其他模块中调用它。
但是我希望有一些更加发达的友谊概念"但是在VBA中。
答案 0 :(得分:6)
在Option Private Module
的顶部指定ModuleB
;公众成员不会(明显地)接触到用户,但可随时从VBA项目内的任何地方获得。
你的Private
+ Application.Run
黑客是......好吧,一个黑客。不要这样做 - 创建/离开公共成员Public
,并使用Option Private Module
隐藏宏列表中的模块。