我目前正在为之前编写的VBA excel应用程序添加功能。直到最近我编辑模块时出现了一些异常问题,而且我现在修复了一个错误导致程序崩溃。重新打开后,我发现我无法保存文档并收到错误消息“Excel无法使用可用资源完成此任务。选择较少的数据或关闭其他应用程序“。关闭其他应用程序或重新启动计算机没有帮助。
从那时起,我偶尔能够通过以下方式随机组合使程序处于可编辑状态:
•更改文件名
•打开程序,然后取消该过程,然后重新打开
•删除所有模块并重新导入
以下是MSDN有关解决此问题的信息的一些链接https://support.microsoft.com/en-gb/kb/2779852和https://support.microsoft.com/en-gb/kb/2655178
当我确保文档处于保存文档的状态时。它将保存正常,直到我关闭并重新打开excel文档,然后经常(但不一致)发生保存问题。
为了用户的缘故,我需要深入了解这一点,因为这也会影响它们的功能。任何帮助都会受到赞赏,因为感觉我已经尝试了所有的东西。
有关该计划的更多信息
该程序是一个数据库应用程序,用户可以在其中向数据库添加数据,也可以以表格的形式查看数据以及图形表示。他们无法访问该计划背后的Excel工作表。
目前它包括19张,21种用户形式(相当大),20个模块和8个类模块。它的大小超过1600 KB。
当excel文件打开程序时:
隐藏excel表
显示用户表单
作为显示用户表单的一部分
运行一个模块,创建频繁访问所需的信息(约15个变体数组)
对其中一张纸进行排序
启动计时器
要打开excel并能够查看代码,用户然后选择管理按钮,在输入正确的密码后,将显示应用程序并卸载所有用户表单。在这个阶段,我尝试保存程序并调用VBA进行编辑。
2/9/2015附加信息以安全模式打开也会增加保存工作簿的可能性
答案 0 :(得分:0)
这可能不是你的答案,但是这个错误通常不是由一般的文件大小引起的(我有一些大约40mb的表)但更常见的内存问题(excel的后期版本似乎内存泄漏非常糟糕)
我发现要注意的一件大事是在工作表中活动数据一侧和下方的空行(您可以通过按下控制端并查看最终结果来轻松找到)
当数据被删除等时,宏会留下最后一行的位置,并且我在过去由流氓行引起的问题(添加定期保存操作可能是避免此问题的关键)
我希望这会有所帮助
答案 1 :(得分:0)
我无法确定地找到问题的根源但是我确实找到了阻止它发生的方法。我开始创建一个全新的Excel工作表,并将所有代码模块和所有excel电子表格导入其中。
答案 2 :(得分:-1)
如果您的工作簿执行Web查询或建立数据连接,则新工作簿可能会再次变大。我有同样的问题,最后在https://youtu.be/ZsIDLnPf09U找到了解决方案。问题与存储的Web查询和数据连接使用的内存有关。这个解决方案使我的工作簿从GB的内存使用量下降到MB,并告诉我如何保持这种方式。