excel VBA 如何实现这一功能?

小生最近在学习VBA,对于如何调用自己写的函数还不是很懂

比如我希望写一个计算“混凝土抗压强度标准值”的函数,假如我们称这个函数名为fun
输入参数为混凝土标号x,fun(x)即可以通过查表A返回x对应的“混凝土抗压强度标准值”

那么我是不是应该把表A的内容放在 B.xlsm 文件中,然后在 B.xlsm 的VBA中插入模块,定义函数fun么?

那我以后任意新建一个工作簿 C.xlsx,能不能直接调用函数fun呢? 调用的时候我是不是需要手动打开 B.xlsm呢?能否不用手动?

希望我把问题说清楚了
谢谢你们的回答!

首先,你要把Function以Public方式定义在模块中,
然后你需要把B.xlsm另存为加载宏文件(xlam)并保存在默认的
C:\Users\你的用户名\AppData\Roaming\Microsoft\AddIns
再然后先在Excel中启用这个加载宏
这样,你就可以在任何Excel工作簿中使用这个函数了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-02-01

    如果有宏的文件,没有打开的话,是无法调用的。

    如果想自动加载自己编写的宏,最好是专门做一个宏文件,*.xla结尾,在add in 里面调用。

本回答被提问者采纳
第2个回答  2015-02-01
可以做好了放在启动项里面去,或者直接在用户模板里面写代码。这些文件夹的位置在信任中心里面。
或者录制宏时选择保存在个人宏工作薄。你也可以在视图-窗口里面取消隐藏个人宏工作薄,然后直接在里面写代码。
相似回答