VBA - 合并Excel工作簿 - 可能耗尽内存

时间:2018-04-30 08:18:16

标签: excel vba excel-vba memory merge

我已经完成了一些谷歌搜索,并查看了stackoverflow,但没有找到解决下面问题的东西。

基本上我有大约46个工作簿和工作表,我需要将它们合并为一个用于另一个软件的分析目的。

wbBank.Sheets(c).Copy Before:=wbStructure.Worksheets(wbStructure.Sheets.Count)

对于“wbStructure”中的部分工作表,我需要执行复制功能(按ISO货币或国家/地区),这意味着从46个相应的工作表中,我最终会得到大约1300个工作表最终消耗太多内存的工作簿。

对于每个工作表,我也会执行以下操作:

  • 根据设置的参数
  • 插入行/列
  • 浏览每一行和每一行并输入说明

所有这些功能都可以正常工作,但由于Excel 2016和Excel 2010之间的兼容性问题,我不得不最近更改功能以保留相同的Excel对象而不是打开新的Excel实例。

Dim oXLApp As Object
Set oXLApp = GetObject(,"Excel.Application")

我需要使用的原因是我需要从当前包含宏的Excel文档中获取数据,并通过其他应用程序复制粘贴此数据。当我尝试将数据放在另一个对象中然后粘贴数据时,格式化将丢失并产生问题。

是否有任何指针可以让我减少内存消耗,导致异常行为;随机崩溃,"'没有足够的系统资源来正确显示"最终的工作簿非常大,但由于这是另一个系统的输入,所以必须保持这种状态

非常感谢任何反馈。

0 个答案:

没有答案