通过代码添加模块
我有一个包含macros的主工作簿,可以打开另一个包含需求预测的工作簿。 通过macros打开的工作簿是从客户门户下载的,并且每天都是新的,而没有事先编辑的可能性。
macros然后遍历信息并创build新的可读和更直观的工作表。 但是,在这些工作表中的一些上,我想添加一些事件驱动的代码来提供鼠标移动或select单元格时的工具提示。
有没有可能(没有安装从香草Excel 2010加载项)将代码添加到在macros期间创build的工作表对象?
处理的工作簿的布局或多或less是静态的,所以我想知道是否应该创build一个模板文件,然后将input复制到它。 这将允许我在添加数据之前对事件进行编码。 这是最好的可能吗?
正如丹指出的那样,您可以使用Application.VBE.ActiveVBProject以编程方式将代码模块添加到工作簿。 但是这样做需要更加宽松的macros安全设置(默认设置为不可信),这是不推荐的。
当我必须做类似的事情时,我使用三个工作簿:
- 包含工作簿的数据
- 这本书没有macrosfunction
- 包含必要macros的模板工作簿
- 启用macros的工作簿以促进转换。
使用工作簿#3打开工作簿#1并将其数据复制到工作簿#2。 保存工作簿#2的副本并closures它。 根据需要重复这个过程。
这不是最漂亮的解决scheme,但它保持你的代码模块化。