在Excel中自动刷新导入的宏

时间:2017-02-02 10:44:18

标签: excel excel-vba vba

我目前正在更新多个单独的Excel文档以使用宏。

虽然这些文件中的每一个都是分开的,但它们之间共享了许多方程式。为了让我的生活更轻松,我已将我的宏导出到一个bas文件,然后将其导入到每个后续文件中。我现在面临的问题是偶尔需要更改或更新其中一些方程式。这导致我必须转到每个excel文件,删除以前导入的bas文件并重新导入新文件。有没有办法通过某种形式的符号链接导入bas文件或强制Excel检查文件的位置,并确保bas文件是最新的。

下面是一个简单的用例,因为我的ramblings中可能还不太清楚:

文件1有一个等式 宏:    公式1:(value1 + value2)/ value1

将其导出到macros.bas

文档2使用相同的宏,因此只导入macros.bas:    公式1:(value1 + value2)/ value1

两天后,我被告知应修改等式,使等式除以值2。为此,执行以下步骤。

第1步) bas文件已更新,以便    公式1:(value1 + value2)/ value2

第2步) 打开文档1和文档2 第3步) 我必须删除旧的宏模块并重新导入新的模块。

有没有办法自动执行步骤2 - 3,通过符号链接或强制excel自动刷新macros.bas中的导入宏?

感谢您的回复。

1 个答案:

答案 0 :(得分:0)

根据Rory的建议,这个问题的答案在于使用加载项 感谢以下堆栈溢出文章的指导。 running a macro from an add-in

这是我最终执行的解决方案。

创建一个全新的工作簿。这将存储需要共享的所有模块。

1 - In the Developer tab select Visual Basic.
2 - Create the module/modules I want to store my macros in and start writing them.
3 - Save the Workbook selecting the type "Excel Add-In (*.xlam)"
4 - Open the Workbook I wish to actually work on. 
5 - File -> Options. Select the Add-Ins tab (Or go to Developer tab -> Add-Ins)
6 - At the bottom under "Manage" ensure "Excel Add-Ins" is selected in the combo box and select Go
7 - Browse... and find the .xlam file you just saved.
8 - The macros should now be loaded. You can test them out in a cell or go to Developer -> Visual Basic. In the Visual Basic Project panel on the left of the new window, your Add-In should appear along with your current workbook.
9 - You may be required to restart Excel before using the Add-In Macros.

额外说明: 删除不需要的加载项(假设您对我们来说是新手)

1 - File -> Options. Select the Add-Ins tab
2 - At the bottom under "Manage" ensure "Excel Add-Ins" is selected in the combo box and select Go
3 - Uncheck the Add-In you wish to remove. Going to the Developers tab -> Visual Basic should now display that the Add-In has been removed from the project.