Excel VBA - 在宏中循环保存的工作簿...工作簿无法打开

时间:2014-11-06 19:04:58

标签: excel vba loops

因此,回想起来,这可能不是解决我的应用程序问题的最佳方法。但这里简要概述了发生的事情:

  1. 创建宏以循环遍历文件并从每个文件中提取数据并转储到合并的工作簿中
  2. 宏在最后一个很长的循环中挂起
  3. 为了在数据挂起后保留数据(为了理解它在循环中的位置/方式),我在每次迭代结束时添加了一个Workbook.Save命令
  4. 循环使其进入最后一次迭代并挂起。
  5. 我重新打开了工作簿,所有数据都存在,但它仍然挂在循环中
  6. 我的问题:

    1. 我无法破解(CTRL + Break)循环,有没有其他方法可以杀死当前执行?
    2. 当Excel在迭代后保存文档时,它是否有可能在重新打开图书时在宏内执行时进行备份?
    3. 最后,无论如何都要从看似已损坏的工作簿中提取宏?

1 个答案:

答案 0 :(得分:0)

我会在黑暗中走一点,因为你没有提供任何代码来参考。

  1. 如果循环没有结束,则通常以重新启动Excel结束。在这种情况下,打破选项并不真正有效。

  2. 如果您已将工作簿分配给变量,则可以通过保存更改来关闭它:

    Dim wb as Workbook
    ...
    wb.Close True
    
  3. 您可以将包含宏的工作表复制到另一个工作簿中。