从正常的Excel工作簿(.xlsx)button单击触发外部macros

简单地说我的问题如下,是否可以在正常的Excel工作簿(.xlsx不是.xlsm)工作表上的button来触发另一个文件中的macros,特别是(.xlam)中安装的Excel添加。

以下是我为什么要实现这一目标的一些背景。 我有一个工作簿,许多用户需要能够查看,但只有一些需要能够通过填写另一个工作表上的表格和调用一个macros中添加英寸更新。工作表不应该包含任何macros,以避免安全警告当由普通用户打开时。 我可以通过在添加中添加一个function区button来实现这一点,用户点击这个button,然后在执行更新代码之前检查是否打开了正确的工作簿,并填写了表格。 但是,如果button而不是出现在function区上的界面会更好,只是在工作表中的表单下面。 因此,我的问题是有可能触发非macros启用工作簿中的button单击一个外部macros。

我看不到如何执行一个非macros启用工作簿中的控件macros。

是的,您可以将一个外部macros(应该是.xlsm文件)分配给一个非macros的工作簿( .xlsx)button。 为了简单起见,我的xlsmmacros与xlsx工作簿驻留在同一个目录中。 (注意:我正在使用Excel 2010)

  1. 首先,您必须在Excel窗口的同一实例中打开xlsmmacros(即不要打开Excel的新实例),以便您的xlsx工作簿能够查看/访问它。
  2. 右键单击您的xlsx工作簿button并select“分配macros…”
  3. 确保您在“所有打开的工作簿”中select“macros”
  4. 将显示打开的工作簿中的所有macros(这就是为什么执行步骤1很重要)。
  5. 从列表中select所需的macros,然后单击确定。