关闭第二个工作簿后激活第一个工作簿?

时间:2012-11-16 16:58:00

标签: excel-vba vba excel

情况:

  1. 打开工作簿A.
  2. A中的代码打开工作簿B.

    • B现在是活跃的WB。
    • B中的代码以ThisWorkBook.Close
    • 结尾
  3. B关闭,所以A出现。

  4. 问题是:在WB B关闭后,我无法在WB A中获得任何Activate个事件。

    但是如果我手动关闭WB B,使用鼠标将“x”输出WB,或者通过菜单,则WB A会触发Activate个事件。

    以某种方式使用VBA关闭WB B会阻止WB A激活事件触发。

    Excel 97和2003中的结果相同

    我错过了什么,或者有解决方法吗?

1 个答案:

答案 0 :(得分:-1)

在打开工作簿之前B将工作簿A设置为已定义的名称:

 Dim wb as workbook

 set wb = activeworkbook

 'run your code


 wb.Activate

编辑:

将此内容放入您孩子书籍的每个workbook_close()事件中:

  windows("A.xlsm").activate

当您的一个孩子wbs关闭时,这将激活您的主表 (您可能需要添加一个检查,确认A.xlsm是打开的,如果没有打开它或退出子)